drm/vmwgfx: Inline vmw_verify_access()
authorThomas Zimmermann <tzimmermann@suse.de>
Tue, 25 May 2021 15:10:54 +0000 (17:10 +0200)
committerThomas Zimmermann <tzimmermann@suse.de>
Wed, 26 May 2021 18:56:52 +0000 (20:56 +0200)
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: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Zack Rusin <zackr@vmware.com>
Acked-by: Christian König <christian.koenig@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210525151055.8174-7-tzimmermann@suse.de
drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c
drivers/gpu/drm/vmwgfx/vmwgfx_ttm_glue.c

index 7bfe83c..35b03fe 100644 (file)
@@ -661,14 +661,6 @@ static void vmw_evict_flags(struct ttm_buffer_object *bo,
        *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)
 {
        struct vmw_private *dev_priv = container_of(bdev, struct vmw_private, bdev);
@@ -771,7 +763,6 @@ struct ttm_device_funcs vmw_bo_driver = {
        .eviction_valuable = ttm_bo_eviction_valuable,
        .evict_flags = vmw_evict_flags,
        .move = vmw_move,
-       .verify_access = vmw_verify_access,
        .swap_notify = vmw_swap_notify,
        .io_mem_reserve = &vmw_ttm_io_mem_reserve,
 };
index c8b6543..e6b1f98 100644 (file)
@@ -67,6 +67,7 @@ int vmw_mmap(struct file *filp, struct vm_area_struct *vma)
        };
        struct drm_file *file_priv = filp->private_data;
        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_buffer_object *bo;
        int ret;
@@ -78,11 +79,7 @@ int vmw_mmap(struct file *filp, struct vm_area_struct *vma)
        if (unlikely(!bo))
                return -EINVAL;
 
-       if (unlikely(!bo->bdev->funcs->verify_access)) {
-               ret = -EPERM;
-               goto out_unref;
-       }
-       ret = bo->bdev->funcs->verify_access(bo, filp);
+       ret = vmw_user_bo_verify_access(bo, tfile);
        if (unlikely(ret != 0))
                goto out_unref;