drm/ttm: nuke invalidate_caches callback

Submitted by Christian König on Jan. 10, 2020, 3:09 p.m.

Details

Message ID 20200110150954.95958-1-christian.koenig@amd.com
State Accepted
Commit 5e791166d377c539db0f889e7793204912c374da
Headers show
Series "drm/ttm: nuke invalidate_caches callback" ( rev: 1 ) in DRI devel

Not browsing as part of any series.

Commit Message

Christian König Jan. 10, 2020, 3:09 p.m.
Another completely unused feature.

Signed-off-by: Christian König <christian.koenig@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(-)

Patch hide | download patch | download mbox

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);
 

Comments

Reviewed-by: Thomas Hellstrom <thellstrom@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@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);
>
Ping? Just a trivial cleanup.

Am 10.01.20 um 16:09 schrieb Christian König:
> Another completely unused feature.
>
> Signed-off-by: Christian König <christian.koenig@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);
>
On Mon, Jan 13, 2020 at 10:45:25PM +0800, Christian König wrote:
> Ping? Just a trivial cleanup.
> 
> Am 10.01.20 um 16:09 schrieb Christian König:
> > Another completely unused feature.
> >
> > Signed-off-by: Christian König <christian.koenig@amd.com>

Reviewed-by: Huang Rui <ray.huang@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);
> >   
>