All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/ttm: nuke invalidate_caches callback
@ 2020-01-10 15:09 Christian König
  2020-01-10 15:59 ` Thomas Hellström (VMware)
  2020-01-13 14:45 ` Christian König
  0 siblings, 2 replies; 4+ messages in thread
From: Christian König @ 2020-01-10 15:09 UTC (permalink / raw)
  To: dri-devel

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

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] drm/ttm: nuke invalidate_caches callback
  2020-01-10 15:09 [PATCH] drm/ttm: nuke invalidate_caches callback Christian König
@ 2020-01-10 15:59 ` Thomas Hellström (VMware)
  2020-01-13 14:45 ` Christian König
  1 sibling, 0 replies; 4+ messages in thread
From: Thomas Hellström (VMware) @ 2020-01-10 15:59 UTC (permalink / raw)
  To: dri-devel


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


_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] drm/ttm: nuke invalidate_caches callback
  2020-01-10 15:09 [PATCH] drm/ttm: nuke invalidate_caches callback Christian König
  2020-01-10 15:59 ` Thomas Hellström (VMware)
@ 2020-01-13 14:45 ` Christian König
  2020-01-13 15:45   ` Huang Rui
  1 sibling, 1 reply; 4+ messages in thread
From: Christian König @ 2020-01-13 14:45 UTC (permalink / raw)
  To: dri-devel; +Cc: Huang Rui

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

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] drm/ttm: nuke invalidate_caches callback
  2020-01-13 14:45 ` Christian König
@ 2020-01-13 15:45   ` Huang Rui
  0 siblings, 0 replies; 4+ messages in thread
From: Huang Rui @ 2020-01-13 15:45 UTC (permalink / raw)
  To: Christian König; +Cc: dri-devel

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);
> >   
> 
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-01-13 15:46 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-10 15:09 [PATCH] drm/ttm: nuke invalidate_caches callback Christian König
2020-01-10 15:59 ` Thomas Hellström (VMware)
2020-01-13 14:45 ` Christian König
2020-01-13 15:45   ` Huang Rui

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.