minigbm: clean up bo.handles
The multi-planar formats are being allocated into a single plane, and the minigbm exynos backend is dropped. So we can use `handle` instead of handles as of now. Remove some of the helper functions that calculate the number of planes. There is no need to check if there is more than one kernel buffer per buffer object. Added a new function `drv_gem_close` in `drv_helpers` that can be used by `drv_gem_bo_destroy` and `drv_prime_bo_import`. It can be used to clean the unused gem_handle. Bug=b:266776512 TEST=camera and screenshot work fine after deploying the change #strongbad TEST=camera and screenshot work fine after deploying the change #kukui-arc-r TEST=camera and screenshot work fine after deploying the change, tested a couple of apps in the Google Play Store, and checked file `dma_buf/bufinfo` to see there's no object leaking. #guybrush Change-Id: Ib63559504e4cb8f1a32ae90170925146613d694f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/4297873 Commit-Queue: Dawn Han <dawnhan@google.com> Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org> Tested-by: Dawn Han <dawnhan@google.com>
This commit is contained in:
parent
6f3f6cb93a
commit
84b3a09ef0
15 changed files with 71 additions and 144 deletions
5
vc4.c
5
vc4.c
|
|
@ -74,8 +74,7 @@ static int vc4_bo_create_for_modifier(struct bo *bo, uint32_t width, uint32_t he
|
|||
return -errno;
|
||||
}
|
||||
|
||||
for (plane = 0; plane < bo->meta.num_planes; plane++)
|
||||
bo->handles[plane].u32 = bo_create.handle;
|
||||
bo->handle.u32 = bo_create.handle;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -110,7 +109,7 @@ static void *vc4_bo_map(struct bo *bo, struct vma *vma, uint32_t map_flags)
|
|||
int ret;
|
||||
struct drm_vc4_mmap_bo bo_map = { 0 };
|
||||
|
||||
bo_map.handle = bo->handles[0].u32;
|
||||
bo_map.handle = bo->handle.u32;
|
||||
ret = drmCommandWriteRead(bo->drv->fd, DRM_VC4_MMAP_BO, &bo_map, sizeof(bo_map));
|
||||
if (ret) {
|
||||
drv_loge("DRM_VC4_MMAP_BO failed\n");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue