[PATCH] drm/ttm: nuke invalidate_caches callback

Thomas Hellström (VMware) thomas_os at shipmail.org
Fri Jan 10 15:59:27 UTC 2020


Reviewed-by: Thomas Hellstrom <thellstrom at vmware.com>

IIRC this was used by the old i915 implementation.

/Thomas

On 1/10/20 4:09 PM, Christian König wrote:
> Another completely unused feature.
>
> Signed-off-by: Christian König <christian.koenig at amd.com>
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c    |  6 ------
>   drivers/gpu/drm/nouveau/nouveau_bo.c       |  8 --------
>   drivers/gpu/drm/qxl/qxl_ttm.c              |  6 ------
>   drivers/gpu/drm/radeon/radeon_ttm.c        |  6 ------
>   drivers/gpu/drm/ttm/ttm_bo.c               |  9 +--------
>   drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c |  6 ------
>   include/drm/ttm/ttm_bo_driver.h            | 15 ---------------
>   7 files changed, 1 insertion(+), 55 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> index 445de594c214..7c4b1cbd9a50 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> @@ -68,11 +68,6 @@ static int amdgpu_map_buffer(struct ttm_buffer_object *bo,
>   static int amdgpu_ttm_debugfs_init(struct amdgpu_device *adev);
>   static void amdgpu_ttm_debugfs_fini(struct amdgpu_device *adev);
>   
> -static int amdgpu_invalidate_caches(struct ttm_bo_device *bdev, uint32_t flags)
> -{
> -	return 0;
> -}
> -
>   /**
>    * amdgpu_init_mem_type - Initialize a memory manager for a specific type of
>    * memory request.
> @@ -1637,7 +1632,6 @@ static struct ttm_bo_driver amdgpu_bo_driver = {
>   	.ttm_tt_create = &amdgpu_ttm_tt_create,
>   	.ttm_tt_populate = &amdgpu_ttm_tt_populate,
>   	.ttm_tt_unpopulate = &amdgpu_ttm_tt_unpopulate,
> -	.invalidate_caches = &amdgpu_invalidate_caches,
>   	.init_mem_type = &amdgpu_init_mem_type,
>   	.eviction_valuable = amdgpu_ttm_bo_eviction_valuable,
>   	.evict_flags = &amdgpu_evict_flags,
> diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c b/drivers/gpu/drm/nouveau/nouveau_bo.c
> index f8015e0318d7..81668104595f 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_bo.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_bo.c
> @@ -646,13 +646,6 @@ nouveau_ttm_tt_create(struct ttm_buffer_object *bo, uint32_t page_flags)
>   	return nouveau_sgdma_create_ttm(bo, page_flags);
>   }
>   
> -static int
> -nouveau_bo_invalidate_caches(struct ttm_bo_device *bdev, uint32_t flags)
> -{
> -	/* We'll do this from user space. */
> -	return 0;
> -}
> -
>   static int
>   nouveau_bo_init_mem_type(struct ttm_bo_device *bdev, uint32_t type,
>   			 struct ttm_mem_type_manager *man)
> @@ -1696,7 +1689,6 @@ struct ttm_bo_driver nouveau_bo_driver = {
>   	.ttm_tt_create = &nouveau_ttm_tt_create,
>   	.ttm_tt_populate = &nouveau_ttm_tt_populate,
>   	.ttm_tt_unpopulate = &nouveau_ttm_tt_unpopulate,
> -	.invalidate_caches = nouveau_bo_invalidate_caches,
>   	.init_mem_type = nouveau_bo_init_mem_type,
>   	.eviction_valuable = ttm_bo_eviction_valuable,
>   	.evict_flags = nouveau_bo_evict_flags,
> diff --git a/drivers/gpu/drm/qxl/qxl_ttm.c b/drivers/gpu/drm/qxl/qxl_ttm.c
> index 16a5e903533d..62a5e424971b 100644
> --- a/drivers/gpu/drm/qxl/qxl_ttm.c
> +++ b/drivers/gpu/drm/qxl/qxl_ttm.c
> @@ -48,11 +48,6 @@ static struct qxl_device *qxl_get_qdev(struct ttm_bo_device *bdev)
>   	return qdev;
>   }
>   
> -static int qxl_invalidate_caches(struct ttm_bo_device *bdev, uint32_t flags)
> -{
> -	return 0;
> -}
> -
>   static int qxl_init_mem_type(struct ttm_bo_device *bdev, uint32_t type,
>   			     struct ttm_mem_type_manager *man)
>   {
> @@ -256,7 +251,6 @@ static void qxl_bo_move_notify(struct ttm_buffer_object *bo,
>   
>   static struct ttm_bo_driver qxl_bo_driver = {
>   	.ttm_tt_create = &qxl_ttm_tt_create,
> -	.invalidate_caches = &qxl_invalidate_caches,
>   	.init_mem_type = &qxl_init_mem_type,
>   	.eviction_valuable = ttm_bo_eviction_valuable,
>   	.evict_flags = &qxl_evict_flags,
> diff --git a/drivers/gpu/drm/radeon/radeon_ttm.c b/drivers/gpu/drm/radeon/radeon_ttm.c
> index f4af67035673..40282bf0adbe 100644
> --- a/drivers/gpu/drm/radeon/radeon_ttm.c
> +++ b/drivers/gpu/drm/radeon/radeon_ttm.c
> @@ -66,11 +66,6 @@ static struct radeon_device *radeon_get_rdev(struct ttm_bo_device *bdev)
>   	return rdev;
>   }
>   
> -static int radeon_invalidate_caches(struct ttm_bo_device *bdev, uint32_t flags)
> -{
> -	return 0;
> -}
> -
>   static int radeon_init_mem_type(struct ttm_bo_device *bdev, uint32_t type,
>   				struct ttm_mem_type_manager *man)
>   {
> @@ -774,7 +769,6 @@ static struct ttm_bo_driver radeon_bo_driver = {
>   	.ttm_tt_create = &radeon_ttm_tt_create,
>   	.ttm_tt_populate = &radeon_ttm_tt_populate,
>   	.ttm_tt_unpopulate = &radeon_ttm_tt_unpopulate,
> -	.invalidate_caches = &radeon_invalidate_caches,
>   	.init_mem_type = &radeon_init_mem_type,
>   	.eviction_valuable = ttm_bo_eviction_valuable,
>   	.evict_flags = &radeon_evict_flags,
> diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
> index 5df596fb0280..06f6d650827f 100644
> --- a/drivers/gpu/drm/ttm/ttm_bo.c
> +++ b/drivers/gpu/drm/ttm/ttm_bo.c
> @@ -372,14 +372,7 @@ static int ttm_bo_handle_move_mem(struct ttm_buffer_object *bo,
>   	}
>   
>   moved:
> -	if (bo->evicted) {
> -		if (bdev->driver->invalidate_caches) {
> -			ret = bdev->driver->invalidate_caches(bdev, bo->mem.placement);
> -			if (ret)
> -				pr_err("Can not flush read caches\n");
> -		}
> -		bo->evicted = false;
> -	}
> +	bo->evicted = false;
>   
>   	if (bo->mem.mm_node)
>   		bo->offset = (bo->mem.start << PAGE_SHIFT) +
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c b/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c
> index d8ea3dd10af0..3f3b2c7a208a 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c
> @@ -736,11 +736,6 @@ static struct ttm_tt *vmw_ttm_tt_create(struct ttm_buffer_object *bo,
>   	return NULL;
>   }
>   
> -static int vmw_invalidate_caches(struct ttm_bo_device *bdev, uint32_t flags)
> -{
> -	return 0;
> -}
> -
>   static int vmw_init_mem_type(struct ttm_bo_device *bdev, uint32_t type,
>   		      struct ttm_mem_type_manager *man)
>   {
> @@ -866,7 +861,6 @@ struct ttm_bo_driver vmw_bo_driver = {
>   	.ttm_tt_create = &vmw_ttm_tt_create,
>   	.ttm_tt_populate = &vmw_ttm_populate,
>   	.ttm_tt_unpopulate = &vmw_ttm_unpopulate,
> -	.invalidate_caches = vmw_invalidate_caches,
>   	.init_mem_type = vmw_init_mem_type,
>   	.eviction_valuable = ttm_bo_eviction_valuable,
>   	.evict_flags = vmw_evict_flags,
> diff --git a/include/drm/ttm/ttm_bo_driver.h b/include/drm/ttm/ttm_bo_driver.h
> index cac7a8a0825a..c9e0fd09f4b2 100644
> --- a/include/drm/ttm/ttm_bo_driver.h
> +++ b/include/drm/ttm/ttm_bo_driver.h
> @@ -210,8 +210,6 @@ struct ttm_mem_type_manager {
>    * struct ttm_bo_driver
>    *
>    * @create_ttm_backend_entry: Callback to create a struct ttm_backend.
> - * @invalidate_caches: Callback to invalidate read caches when a buffer object
> - * has been evicted.
>    * @init_mem_type: Callback to initialize a struct ttm_mem_type_manager
>    * structure.
>    * @evict_flags: Callback to obtain placement flags when a buffer is evicted.
> @@ -256,19 +254,6 @@ struct ttm_bo_driver {
>   	 */
>   	void (*ttm_tt_unpopulate)(struct ttm_tt *ttm);
>   
> -	/**
> -	 * struct ttm_bo_driver member invalidate_caches
> -	 *
> -	 * @bdev: the buffer object device.
> -	 * @flags: new placement of the rebound buffer object.
> -	 *
> -	 * A previosly evicted buffer has been rebound in a
> -	 * potentially new location. Tell the driver that it might
> -	 * consider invalidating read (texture) caches on the next command
> -	 * submission as a consequence.
> -	 */
> -
> -	int (*invalidate_caches)(struct ttm_bo_device *bdev, uint32_t flags);
>   	int (*init_mem_type)(struct ttm_bo_device *bdev, uint32_t type,
>   			     struct ttm_mem_type_manager *man);
>   




More information about the dri-devel mailing list