[PATCH 8/8] drm/ttm: Remove ttm_bo_mmap() and friends

Christian König ckoenig.leichtzumerken at gmail.com
Tue Apr 6 09:40:49 UTC 2021


Am 06.04.21 um 11:09 schrieb Thomas Zimmermann:
> The function ttm_bo_mmap is unused. Remove it and it's helpers; including
> the verify_access callback in struct ttm_device_funcs.
>
> Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de>

Reviewed-by: Christian König <christian.koenig at amd.com>

> ---
>   drivers/gpu/drm/ttm/ttm_bo_vm.c | 53 ---------------------------------
>   include/drm/ttm/ttm_bo_api.h    | 13 --------
>   include/drm/ttm/ttm_device.h    | 15 ----------
>   3 files changed, 81 deletions(-)
>
> diff --git a/drivers/gpu/drm/ttm/ttm_bo_vm.c b/drivers/gpu/drm/ttm/ttm_bo_vm.c
> index bf4a213bc66c..6cd352399941 100644
> --- a/drivers/gpu/drm/ttm/ttm_bo_vm.c
> +++ b/drivers/gpu/drm/ttm/ttm_bo_vm.c
> @@ -508,30 +508,6 @@ static const struct vm_operations_struct ttm_bo_vm_ops = {
>   	.access = ttm_bo_vm_access,
>   };
>   
> -static struct ttm_buffer_object *ttm_bo_vm_lookup(struct ttm_device *bdev,
> -						  unsigned long offset,
> -						  unsigned long pages)
> -{
> -	struct drm_vma_offset_node *node;
> -	struct ttm_buffer_object *bo = NULL;
> -
> -	drm_vma_offset_lock_lookup(bdev->vma_manager);
> -
> -	node = drm_vma_offset_lookup_locked(bdev->vma_manager, offset, pages);
> -	if (likely(node)) {
> -		bo = container_of(node, struct ttm_buffer_object,
> -				  base.vma_node);
> -		bo = ttm_bo_get_unless_zero(bo);
> -	}
> -
> -	drm_vma_offset_unlock_lookup(bdev->vma_manager);
> -
> -	if (!bo)
> -		pr_err("Could not find buffer object to map\n");
> -
> -	return bo;
> -}
> -
>   static void ttm_bo_mmap_vma_setup(struct ttm_buffer_object *bo, struct vm_area_struct *vma)
>   {
>   	/*
> @@ -559,35 +535,6 @@ static void ttm_bo_mmap_vma_setup(struct ttm_buffer_object *bo, struct vm_area_s
>   	vma->vm_flags |= VM_IO | VM_DONTEXPAND | VM_DONTDUMP;
>   }
>   
> -int ttm_bo_mmap(struct file *filp, struct vm_area_struct *vma,
> -		struct ttm_device *bdev)
> -{
> -	struct ttm_buffer_object *bo;
> -	int ret;
> -
> -	if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET_START))
> -		return -EINVAL;
> -
> -	bo = ttm_bo_vm_lookup(bdev, vma->vm_pgoff, vma_pages(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);
> -	if (unlikely(ret != 0))
> -		goto out_unref;
> -
> -	ttm_bo_mmap_vma_setup(bo, vma);
> -	return 0;
> -out_unref:
> -	ttm_bo_put(bo);
> -	return ret;
> -}
> -EXPORT_SYMBOL(ttm_bo_mmap);
> -
>   int ttm_bo_mmap_obj(struct vm_area_struct *vma, struct ttm_buffer_object *bo)
>   {
>   	ttm_bo_get(bo);
> diff --git a/include/drm/ttm/ttm_bo_api.h b/include/drm/ttm/ttm_bo_api.h
> index 2155e2e38aec..6e35680ac01b 100644
> --- a/include/drm/ttm/ttm_bo_api.h
> +++ b/include/drm/ttm/ttm_bo_api.h
> @@ -522,19 +522,6 @@ void ttm_bo_vunmap(struct ttm_buffer_object *bo, struct dma_buf_map *map);
>    */
>   int ttm_bo_mmap_obj(struct vm_area_struct *vma, struct ttm_buffer_object *bo);
>   
> -/**
> - * ttm_bo_mmap - mmap out of the ttm device address space.
> - *
> - * @filp:      filp as input from the mmap method.
> - * @vma:       vma as input from the mmap method.
> - * @bdev:      Pointer to the ttm_device with the address space manager.
> - *
> - * This function is intended to be called by the device mmap method.
> - * if the device address space is to be backed by the bo manager.
> - */
> -int ttm_bo_mmap(struct file *filp, struct vm_area_struct *vma,
> -		struct ttm_device *bdev);
> -
>   /**
>    * ttm_bo_io
>    *
> diff --git a/include/drm/ttm/ttm_device.h b/include/drm/ttm/ttm_device.h
> index 7c8f87bd52d3..cd592f8e941b 100644
> --- a/include/drm/ttm/ttm_device.h
> +++ b/include/drm/ttm/ttm_device.h
> @@ -161,21 +161,6 @@ struct ttm_device_funcs {
>   		    struct ttm_resource *new_mem,
>   		    struct ttm_place *hop);
>   
> -	/**
> -	 * struct ttm_bo_driver_member verify_access
> -	 *
> -	 * @bo: Pointer to a buffer object.
> -	 * @filp: Pointer to a struct file trying to access the object.
> -	 *
> -	 * Called from the map / write / read methods to verify that the
> -	 * caller is permitted to access the buffer object.
> -	 * This member may be set to NULL, which will refuse this kind of
> -	 * access for all buffer objects.
> -	 * This function should return 0 if access is granted, -EPERM otherwise.
> -	 */
> -	int (*verify_access)(struct ttm_buffer_object *bo,
> -			     struct file *filp);
> -
>   	/**
>   	 * Hook to notify driver about a resource delete.
>   	 */



More information about the dri-devel mailing list