[PATCH 7/8] drm/vmwgfx: Inline vmw_verify_access()
Zack Rusin
zackr at vmware.com
Wed Apr 7 16:52:57 UTC 2021
On 4/6/21 5:09 AM, Thomas Zimmermann wrote:
> 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 at suse.de>
> ---
> drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c | 9 ---------
> drivers/gpu/drm/vmwgfx/vmwgfx_ttm_glue.c | 7 ++-----
> 2 files changed, 2 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c b/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c
> index 2dc031fe4a90..a079734f9d68 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c
> @@ -658,14 +658,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);
> @@ -768,7 +760,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,
> };
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_glue.c b/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_glue.c
> index 3eaad00668f2..2574d4707407 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_glue.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_glue.c
> @@ -65,6 +65,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;
> @@ -76,11 +77,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;
>
Looks great.
Reviewed-by: Zack Rusin <zackr at vmware.com>
z
More information about the amd-gfx
mailing list