mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-27 03:10:12 +00:00
drm/vkms: Drop custom vkms_dumb_map().
This is the same as the default drm_gem_dumb_map_offset() implementation, except that this one missed the ban on userspace mapping an imported dmabuf (which seems like intended common behavior for drivers). Signed-off-by: Eric Anholt <eric@anholt.net> Link: https://patchwork.freedesktop.org/patch/msgid/20181126215929.20546-1-eric@anholt.net Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
8f1cd82664
commit
08f73d6680
3 changed files with 0 additions and 30 deletions
|
@ -68,7 +68,6 @@ static struct drm_driver vkms_driver = {
|
||||||
.release = vkms_release,
|
.release = vkms_release,
|
||||||
.fops = &vkms_driver_fops,
|
.fops = &vkms_driver_fops,
|
||||||
.dumb_create = vkms_dumb_create,
|
.dumb_create = vkms_dumb_create,
|
||||||
.dumb_map_offset = vkms_dumb_map,
|
|
||||||
.gem_vm_ops = &vkms_gem_vm_ops,
|
.gem_vm_ops = &vkms_gem_vm_ops,
|
||||||
.gem_free_object_unlocked = vkms_gem_free_object,
|
.gem_free_object_unlocked = vkms_gem_free_object,
|
||||||
.get_vblank_timestamp = vkms_get_vblank_timestamp,
|
.get_vblank_timestamp = vkms_get_vblank_timestamp,
|
||||||
|
|
|
@ -127,9 +127,6 @@ vm_fault_t vkms_gem_fault(struct vm_fault *vmf);
|
||||||
int vkms_dumb_create(struct drm_file *file, struct drm_device *dev,
|
int vkms_dumb_create(struct drm_file *file, struct drm_device *dev,
|
||||||
struct drm_mode_create_dumb *args);
|
struct drm_mode_create_dumb *args);
|
||||||
|
|
||||||
int vkms_dumb_map(struct drm_file *file, struct drm_device *dev,
|
|
||||||
u32 handle, u64 *offset);
|
|
||||||
|
|
||||||
void vkms_gem_free_object(struct drm_gem_object *obj);
|
void vkms_gem_free_object(struct drm_gem_object *obj);
|
||||||
|
|
||||||
int vkms_gem_vmap(struct drm_gem_object *obj);
|
int vkms_gem_vmap(struct drm_gem_object *obj);
|
||||||
|
|
|
@ -153,32 +153,6 @@ int vkms_dumb_create(struct drm_file *file, struct drm_device *dev,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int vkms_dumb_map(struct drm_file *file, struct drm_device *dev,
|
|
||||||
u32 handle, u64 *offset)
|
|
||||||
{
|
|
||||||
struct drm_gem_object *obj;
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
obj = drm_gem_object_lookup(file, handle);
|
|
||||||
if (!obj)
|
|
||||||
return -ENOENT;
|
|
||||||
|
|
||||||
if (!obj->filp) {
|
|
||||||
ret = -EINVAL;
|
|
||||||
goto unref;
|
|
||||||
}
|
|
||||||
|
|
||||||
ret = drm_gem_create_mmap_offset(obj);
|
|
||||||
if (ret)
|
|
||||||
goto unref;
|
|
||||||
|
|
||||||
*offset = drm_vma_node_offset_addr(&obj->vma_node);
|
|
||||||
unref:
|
|
||||||
drm_gem_object_put_unlocked(obj);
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct page **_get_pages(struct vkms_gem_object *vkms_obj)
|
static struct page **_get_pages(struct vkms_gem_object *vkms_obj)
|
||||||
{
|
{
|
||||||
struct drm_gem_object *gem_obj = &vkms_obj->gem;
|
struct drm_gem_object *gem_obj = &vkms_obj->gem;
|
||||||
|
|
Loading…
Reference in a new issue