On Thu, Mar 26, 2020 at 01:30:31AM +0800, Christian König wrote: > Am 25.03.20 um 18:27 schrieb Alex Deucher: > > On Wed, Mar 25, 2020 at 1:20 PM Christian König > > <christian.koenig@xxxxxxx> wrote: > >> Am 25.03.20 um 16:34 schrieb Huang Rui: > >>> invalidate_caches is actually not used, so clean it up. > >>> > >>> Signed-off-by: Huang Rui <ray.huang@xxxxxxx> > >> Already had the same patch around for a while, looks like I've just > >> forgot to commit it. > >> > >> Reviewed-by: Christian König <christian.koenig@xxxxxxx> > >> > > Is it already in drm-misc and just hasn't made it into > > amd-staging-drm-next yet? I can try and rebase next week if so. > > Ah! Yeah there it is: > > > commit 5e791166d377c539db0f889e7793204912c374da > > Author: Christian König <ckoenig.leichtzumerken@xxxxxxxxx> > > Date: Fri Jan 10 16:09:54 2020 +0100 > > > > drm/ttm: nuke invalidate_caches callback > > > > Another completely unused feature. > > > > Signed-off-by: Christian König <christian.koenig@xxxxxxx> > > Reviewed-by: Huang Rui <ray.huang@xxxxxxx> > > Link: https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatchwork.freedesktop.org%2Fpatch%2F348265%2F&data=02%7C01%7Cray.huang%40amd.com%7C544ea2a584b94dd75d8808d7d0e23993%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637207542363429381&sdata=j9xr%2B%2F0apX3fcSVWRfljfRD%2BJVDzMe7tZ1%2FKVqZysjo%3D&reserved=0 > > Looks like we haven't merged that into amd-staging-drm-next yet. I also forgot to look at this patch before. :-) OK, let's use your orignal patch. Thanks, Ray > > Christian. > > > > > Alex > > > > > >>> --- > >>> drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 6 ------ > >>> drivers/gpu/drm/nouveau/nouveau_bo.c | 7 ------- > >>> drivers/gpu/drm/qxl/qxl_ttm.c | 6 ------ > >>> drivers/gpu/drm/radeon/radeon_ttm.c | 6 ------ > >>> drivers/gpu/drm/ttm/ttm_bo.c | 8 +------- > >>> drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c | 6 ------ > >>> include/drm/ttm/ttm_bo_driver.h | 13 ------------- > >>> 7 files changed, 1 insertion(+), 51 deletions(-) > >>> > >>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c > >>> index cd2bde6..b397148 100644 > >>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c > >>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c > >>> @@ -62,11 +62,6 @@ > >>> > >>> #define AMDGPU_TTM_VRAM_MAX_DW_READ (size_t)128 > >>> > >>> -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. > >>> @@ -1746,7 +1741,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 1b62ccc..7dd94e6 100644 > >>> --- a/drivers/gpu/drm/nouveau/nouveau_bo.c > >>> +++ b/drivers/gpu/drm/nouveau/nouveau_bo.c > >>> @@ -647,13 +647,6 @@ nouveau_ttm_tt_create(struct ttm_buffer_object *bo, uint32_t 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) > >>> { > >>> diff --git a/drivers/gpu/drm/qxl/qxl_ttm.c b/drivers/gpu/drm/qxl/qxl_ttm.c > >>> index 16a5e90..62a5e42 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 f4af6703..40282bf 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 2445e2b..fd09bbb 100644 > >>> --- a/drivers/gpu/drm/ttm/ttm_bo.c > >>> +++ b/drivers/gpu/drm/ttm/ttm_bo.c > >>> @@ -343,14 +343,8 @@ 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"); > >>> - } > >>> + if (bo->evicted) > >>> 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 d8ea3dd..3f3b2c7 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 cac7a8a..5f60c1e 100644 > >>> --- a/include/drm/ttm/ttm_bo_driver.h > >>> +++ b/include/drm/ttm/ttm_bo_driver.h > >>> @@ -256,19 +256,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@xxxxxxxxxxxxxxxxxxxxx > >> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Fdri-devel&data=02%7C01%7Cray.huang%40amd.com%7C544ea2a584b94dd75d8808d7d0e23993%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637207542363429381&sdata=U%2FQma6upKeuE1czmXpMlRcdnBmITvQZ9UyKsrA7sqs0%3D&reserved=0 > > _______________________________________________ > > amd-gfx mailing list > > amd-gfx@xxxxxxxxxxxxxxxxxxxxx > > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfx&data=02%7C01%7Cray.huang%40amd.com%7C544ea2a584b94dd75d8808d7d0e23993%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637207542363429381&sdata=g4ARa0zkuyQp8HgGyv%2BMD3892AbuYeXmHXCSfQN7dxs%3D&reserved=0 > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel