summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBoris Brezillon <[email protected]>2019-07-02 10:30:45 +0200
committerBoris Brezillon <[email protected]>2019-07-02 14:57:35 +0200
commit6ba61324f03ced586efe4aed8b552a144314139a (patch)
tree781c7e30fdf0c950a8e44fdc7f2d8e0eb4cbd235 /src
parent079aaa9c6d9c61f00a37a5a888091c7366c2bd6f (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.c18
-rw-r--r--src/gallium/drivers/panfrost/pan_resource.c21
-rw-r--r--src/gallium/drivers/panfrost/pan_resource.h3
-rw-r--r--src/gallium/drivers/panfrost/pan_screen.h3
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);