Commit cbc5caf7 authored by Thomas Zimmermann's avatar Thomas Zimmermann

drm/vmwgfx: Inline vmw_verify_access()

Vmwgfx is the only user of the TTM's verify_access callback. Inline
the call and avoid the indirection through the function pointer.
Signed-off-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: default avatarZack Rusin <zackr@vmware.com>
Acked-by: default avatarChristian König <christian.koenig@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210525151055.8174-7-tzimmermann@suse.de
parent e65d096f
...@@ -661,14 +661,6 @@ static void vmw_evict_flags(struct ttm_buffer_object *bo, ...@@ -661,14 +661,6 @@ static void vmw_evict_flags(struct ttm_buffer_object *bo,
*placement = vmw_sys_placement; *placement = vmw_sys_placement;
} }
static int vmw_verify_access(struct ttm_buffer_object *bo, struct file *filp)
{
struct ttm_object_file *tfile =
vmw_fpriv((struct drm_file *)filp->private_data)->tfile;
return vmw_user_bo_verify_access(bo, tfile);
}
static int vmw_ttm_io_mem_reserve(struct ttm_device *bdev, struct ttm_resource *mem) static int vmw_ttm_io_mem_reserve(struct ttm_device *bdev, struct ttm_resource *mem)
{ {
struct vmw_private *dev_priv = container_of(bdev, struct vmw_private, bdev); struct vmw_private *dev_priv = container_of(bdev, struct vmw_private, bdev);
...@@ -771,7 +763,6 @@ struct ttm_device_funcs vmw_bo_driver = { ...@@ -771,7 +763,6 @@ struct ttm_device_funcs vmw_bo_driver = {
.eviction_valuable = ttm_bo_eviction_valuable, .eviction_valuable = ttm_bo_eviction_valuable,
.evict_flags = vmw_evict_flags, .evict_flags = vmw_evict_flags,
.move = vmw_move, .move = vmw_move,
.verify_access = vmw_verify_access,
.swap_notify = vmw_swap_notify, .swap_notify = vmw_swap_notify,
.io_mem_reserve = &vmw_ttm_io_mem_reserve, .io_mem_reserve = &vmw_ttm_io_mem_reserve,
}; };
......
...@@ -67,6 +67,7 @@ int vmw_mmap(struct file *filp, struct vm_area_struct *vma) ...@@ -67,6 +67,7 @@ int vmw_mmap(struct file *filp, struct vm_area_struct *vma)
}; };
struct drm_file *file_priv = filp->private_data; struct drm_file *file_priv = filp->private_data;
struct vmw_private *dev_priv = vmw_priv(file_priv->minor->dev); struct vmw_private *dev_priv = vmw_priv(file_priv->minor->dev);
struct ttm_object_file *tfile = vmw_fpriv(file_priv)->tfile;
struct ttm_device *bdev = &dev_priv->bdev; struct ttm_device *bdev = &dev_priv->bdev;
struct ttm_buffer_object *bo; struct ttm_buffer_object *bo;
int ret; int ret;
...@@ -78,11 +79,7 @@ int vmw_mmap(struct file *filp, struct vm_area_struct *vma) ...@@ -78,11 +79,7 @@ int vmw_mmap(struct file *filp, struct vm_area_struct *vma)
if (unlikely(!bo)) if (unlikely(!bo))
return -EINVAL; return -EINVAL;
if (unlikely(!bo->bdev->funcs->verify_access)) { ret = vmw_user_bo_verify_access(bo, tfile);
ret = -EPERM;
goto out_unref;
}
ret = bo->bdev->funcs->verify_access(bo, filp);
if (unlikely(ret != 0)) if (unlikely(ret != 0))
goto out_unref; goto out_unref;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment