Skip to content

Commit

Permalink
Revert "drm/panfrost: Use drm_gem_map_offset()"
Browse files Browse the repository at this point in the history
This reverts commit 583bbf4.

Turns out we need mmap to work on imported BOs even if the current code
is buggy.

Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Sean Paul <sean@poorly.run>
Link: https://patchwork.freedesktop.org/patch/msgid/20190807145253.2037-3-sean@poorly.run
  • Loading branch information
Rob Herring authored and Sean Paul committed Aug 7, 2019
1 parent 0a0b65d commit e6be0a9
Showing 1 changed file with 14 additions and 2 deletions.
16 changes: 14 additions & 2 deletions drivers/gpu/drm/panfrost/panfrost_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -291,14 +291,26 @@ static int panfrost_ioctl_mmap_bo(struct drm_device *dev, void *data,
struct drm_file *file_priv)
{
struct drm_panfrost_mmap_bo *args = data;
struct drm_gem_object *gem_obj;
int ret;

if (args->flags != 0) {
DRM_INFO("unknown mmap_bo flags: %d\n", args->flags);
return -EINVAL;
}

return drm_gem_map_offset(file_priv, dev, args->handle,
&args->offset);
gem_obj = drm_gem_object_lookup(file_priv, args->handle);
if (!gem_obj) {
DRM_DEBUG("Failed to look up GEM BO %d\n", args->handle);
return -ENOENT;
}

ret = drm_gem_create_mmap_offset(gem_obj);
if (ret == 0)
args->offset = drm_vma_node_offset_addr(&gem_obj->vma_node);
drm_gem_object_put_unlocked(gem_obj);

return ret;
}

static int panfrost_ioctl_get_bo_offset(struct drm_device *dev, void *data,
Expand Down

0 comments on commit e6be0a9

Please sign in to comment.