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 <boris.brezillon@collabora.com>
This commit is contained in:
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user