diff options
author | Boris Brezillon <[email protected]> | 2019-07-02 10:30:45 +0200 |
---|---|---|
committer | Boris Brezillon <[email protected]> | 2019-07-02 14:57:35 +0200 |
commit | 6ba61324f03ced586efe4aed8b552a144314139a (patch) | |
tree | 781c7e30fdf0c950a8e44fdc7f2d8e0eb4cbd235 /src | |
parent | 079aaa9c6d9c61f00a37a5a888091c7366c2bd6f (diff) |
panfrost: Get rid of the "free imported BO" logic
bo->imported was never set to true which means this path was never taken.
Moreover, panfrost_drm_free_imported_bo() is doing missing the munmap()
call which seems wrong because the import BO function calls mmap().
Let's just kill this function along with the ->imported field.
Signed-off-by: Boris Brezillon <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/drivers/panfrost/pan_drm.c | 18 | ||||
-rw-r--r-- | src/gallium/drivers/panfrost/pan_resource.c | 21 | ||||
-rw-r--r-- | src/gallium/drivers/panfrost/pan_resource.h | 3 | ||||
-rw-r--r-- | src/gallium/drivers/panfrost/pan_screen.h | 3 |
4 files changed, 8 insertions, 37 deletions
diff --git a/src/gallium/drivers/panfrost/pan_drm.c b/src/gallium/drivers/panfrost/pan_drm.c index 3d25eda9667..8c9a0612d7e 100644 --- a/src/gallium/drivers/panfrost/pan_drm.c +++ b/src/gallium/drivers/panfrost/pan_drm.c @@ -175,24 +175,6 @@ panfrost_drm_export_bo(struct panfrost_screen *screen, int gem_handle, unsigned return TRUE; } -void -panfrost_drm_free_imported_bo(struct panfrost_screen *screen, struct panfrost_bo *bo) -{ - struct drm_gem_close gem_close = { - .handle = bo->gem_handle, - }; - int ret; - - ret = drmIoctl(screen->fd, DRM_IOCTL_GEM_CLOSE, &gem_close); - if (ret) { - fprintf(stderr, "DRM_IOCTL_GEM_CLOSE failed: %d\n", ret); - assert(0); - } - - bo->gem_handle = -1; - bo->gpu = (mali_ptr)NULL; -} - int panfrost_drm_submit_job(struct panfrost_context *ctx, u64 job_desc, int reqs, struct pipe_surface *surf) { diff --git a/src/gallium/drivers/panfrost/pan_resource.c b/src/gallium/drivers/panfrost/pan_resource.c index fae535ed4e2..680b98a6cac 100644 --- a/src/gallium/drivers/panfrost/pan_resource.c +++ b/src/gallium/drivers/panfrost/pan_resource.c @@ -435,19 +435,14 @@ panfrost_resource_create(struct pipe_screen *screen, static void panfrost_destroy_bo(struct panfrost_screen *screen, struct panfrost_bo *bo) { - if (bo->imported) { - panfrost_drm_free_imported_bo(screen, bo); - } else { - struct panfrost_memory mem = { - .cpu = bo->cpu, - .gpu = bo->gpu, - .size = bo->size, - .gem_handle = bo->gem_handle, - }; - - panfrost_drm_free_slab(screen, &mem); - } - + struct panfrost_memory mem = { + .cpu = bo->cpu, + .gpu = bo->gpu, + .size = bo->size, + .gem_handle = bo->gem_handle, + }; + + panfrost_drm_free_slab(screen, &mem); ralloc_free(bo); } diff --git a/src/gallium/drivers/panfrost/pan_resource.h b/src/gallium/drivers/panfrost/pan_resource.h index 89a4396c093..003211b8c4a 100644 --- a/src/gallium/drivers/panfrost/pan_resource.h +++ b/src/gallium/drivers/panfrost/pan_resource.h @@ -75,9 +75,6 @@ struct panfrost_bo { /* Distance from tree to tree */ unsigned cubemap_stride; - /* Set if this bo was imported rather than allocated */ - bool imported; - /* Internal layout (tiled?) */ enum panfrost_memory_layout layout; diff --git a/src/gallium/drivers/panfrost/pan_screen.h b/src/gallium/drivers/panfrost/pan_screen.h index 22565d6b653..ebc5fee5cfd 100644 --- a/src/gallium/drivers/panfrost/pan_screen.h +++ b/src/gallium/drivers/panfrost/pan_screen.h @@ -88,9 +88,6 @@ panfrost_drm_import_bo(struct panfrost_screen *screen, int panfrost_drm_export_bo(struct panfrost_screen *screen, int gem_handle, unsigned int stride, struct winsys_handle *whandle); -void -panfrost_drm_free_imported_bo(struct panfrost_screen *screen, - struct panfrost_bo *bo); int panfrost_drm_submit_job(struct panfrost_context *ctx, u64 job_desc, int reqs, struct pipe_surface *surf); |