]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
drm/ttm: replace last move_notify with delete_mem_notify
authorDave Airlie <airlied@redhat.com>
Wed, 21 Oct 2020 04:40:29 +0000 (14:40 +1000)
committerDave Airlie <airlied@redhat.com>
Thu, 22 Oct 2020 00:11:49 +0000 (10:11 +1000)
The move notify callback is only used in one place, this should
be removed in the future, but for now just rename it to the use
case which is to notify the driver that the GPU memory is to be
deleted.

Drivers can be cleaned up after this separately.

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20201021044031.1752624-2-airlied@gmail.com
drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
drivers/gpu/drm/drm_gem_vram_helper.c
drivers/gpu/drm/nouveau/nouveau_bo.c
drivers/gpu/drm/qxl/qxl_ttm.c
drivers/gpu/drm/radeon/radeon_ttm.c
drivers/gpu/drm/ttm/ttm_bo.c
drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c
include/drm/ttm/ttm_bo_driver.h

index 87e10a212b8a514e2828f583da8c2d591054e3b0..62f9194b1dd17b5885764a5e71068d824f2d8fe5 100644 (file)
@@ -1730,6 +1730,12 @@ static int amdgpu_ttm_access_memory(struct ttm_buffer_object *bo,
        return ret;
 }
 
+static void
+amdgpu_bo_delete_mem_notify(struct ttm_buffer_object *bo)
+{
+       amdgpu_bo_move_notify(bo, false, NULL);
+}
+
 static struct ttm_bo_driver amdgpu_bo_driver = {
        .ttm_tt_create = &amdgpu_ttm_tt_create,
        .ttm_tt_populate = &amdgpu_ttm_tt_populate,
@@ -1739,7 +1745,7 @@ static struct ttm_bo_driver amdgpu_bo_driver = {
        .evict_flags = &amdgpu_evict_flags,
        .move = &amdgpu_bo_move,
        .verify_access = &amdgpu_verify_access,
-       .move_notify = &amdgpu_bo_move_notify,
+       .delete_mem_notify = &amdgpu_bo_delete_mem_notify,
        .release_notify = &amdgpu_bo_release_notify,
        .io_mem_reserve = &amdgpu_ttm_io_mem_reserve,
        .io_mem_pfn = amdgpu_ttm_io_mem_pfn,
index 19087b22bdbb1e123726240884c9dbf555a8df57..9da823eb0edd4afea6e0ce79fad0e05fefb03b9f 100644 (file)
@@ -949,9 +949,7 @@ static void bo_driver_evict_flags(struct ttm_buffer_object *bo,
        drm_gem_vram_bo_driver_evict_flags(gbo, placement);
 }
 
-static void bo_driver_move_notify(struct ttm_buffer_object *bo,
-                                 bool evict,
-                                 struct ttm_resource *new_mem)
+static void bo_driver_delete_mem_notify(struct ttm_buffer_object *bo)
 {
        struct drm_gem_vram_object *gbo;
 
@@ -961,7 +959,7 @@ static void bo_driver_move_notify(struct ttm_buffer_object *bo,
 
        gbo = drm_gem_vram_of_bo(bo);
 
-       drm_gem_vram_bo_driver_move_notify(gbo, evict, new_mem);
+       drm_gem_vram_bo_driver_move_notify(gbo, false, NULL);
 }
 
 static int bo_driver_move(struct ttm_buffer_object *bo,
@@ -1002,7 +1000,7 @@ static struct ttm_bo_driver bo_driver = {
        .eviction_valuable = ttm_bo_eviction_valuable,
        .evict_flags = bo_driver_evict_flags,
        .move = bo_driver_move,
-       .move_notify = bo_driver_move_notify,
+       .delete_mem_notify = bo_driver_delete_mem_notify,
        .io_mem_reserve = bo_driver_io_mem_reserve,
 };
 
index 70b6f3b1ae85afcd901b2790ff06f8ca520b93af..acff82afe260df06076f0cae58c2d4f463ac800d 100644 (file)
@@ -1401,6 +1401,12 @@ nouveau_bo_fence(struct nouveau_bo *nvbo, struct nouveau_fence *fence, bool excl
                dma_resv_add_shared_fence(resv, &fence->base);
 }
 
+static void
+nouveau_bo_delete_mem_notify(struct ttm_buffer_object *bo)
+{
+       nouveau_bo_move_ntfy(bo, false, NULL);
+}
+
 struct ttm_bo_driver nouveau_bo_driver = {
        .ttm_tt_create = &nouveau_ttm_tt_create,
        .ttm_tt_populate = &nouveau_ttm_tt_populate,
@@ -1408,7 +1414,7 @@ struct ttm_bo_driver nouveau_bo_driver = {
        .ttm_tt_destroy = &nouveau_ttm_tt_destroy,
        .eviction_valuable = ttm_bo_eviction_valuable,
        .evict_flags = nouveau_bo_evict_flags,
-       .move_notify = nouveau_bo_move_ntfy,
+       .delete_mem_notify = nouveau_bo_delete_mem_notify,
        .move = nouveau_bo_move,
        .verify_access = nouveau_bo_verify_access,
        .io_mem_reserve = &nouveau_ttm_io_mem_reserve,
index 1cc3c14bc684c88bd557b9b72352bcd7a1a819d0..b52a4563b47bc005268022be36c7c6268be1ad79 100644 (file)
@@ -166,6 +166,11 @@ out:
        return ret;
 }
 
+static void qxl_bo_delete_mem_notify(struct ttm_buffer_object *bo)
+{
+       qxl_bo_move_notify(bo, false, NULL);
+}
+
 static struct ttm_bo_driver qxl_bo_driver = {
        .ttm_tt_create = &qxl_ttm_tt_create,
        .ttm_tt_destroy = &qxl_ttm_backend_destroy,
@@ -173,7 +178,7 @@ static struct ttm_bo_driver qxl_bo_driver = {
        .evict_flags = &qxl_evict_flags,
        .move = &qxl_bo_move,
        .io_mem_reserve = &qxl_ttm_io_mem_reserve,
-       .move_notify = &qxl_bo_move_notify,
+       .delete_mem_notify = &qxl_bo_delete_mem_notify,
 };
 
 static int qxl_ttm_init_mem_type(struct qxl_device *qdev,
index cd454e5c802f194f0beb70546424603e4b66bfd9..321c09d20c6c7e5327cd54df87b6d6de684bad8f 100644 (file)
@@ -824,6 +824,12 @@ bool radeon_ttm_tt_is_readonly(struct radeon_device *rdev,
        return !!(gtt->userflags & RADEON_GEM_USERPTR_READONLY);
 }
 
+static void
+radeon_bo_delete_mem_notify(struct ttm_buffer_object *bo)
+{
+       radeon_bo_move_notify(bo, false, NULL);
+}
+
 static struct ttm_bo_driver radeon_bo_driver = {
        .ttm_tt_create = &radeon_ttm_tt_create,
        .ttm_tt_populate = &radeon_ttm_tt_populate,
@@ -833,7 +839,7 @@ static struct ttm_bo_driver radeon_bo_driver = {
        .evict_flags = &radeon_evict_flags,
        .move = &radeon_bo_move,
        .verify_access = &radeon_verify_access,
-       .move_notify = &radeon_bo_move_notify,
+       .delete_mem_notify = &radeon_bo_delete_mem_notify,
        .io_mem_reserve = &radeon_ttm_io_mem_reserve,
 };
 
index 03b40ce7d2dc5cdfedb91999f117e6526f6d2c5d..5b411252a857fa79513c039980e08a18591e55a9 100644 (file)
@@ -284,8 +284,8 @@ out_err:
 
 static void ttm_bo_cleanup_memtype_use(struct ttm_buffer_object *bo)
 {
-       if (bo->bdev->driver->move_notify)
-               bo->bdev->driver->move_notify(bo, false, NULL);
+       if (bo->bdev->driver->delete_mem_notify)
+               bo->bdev->driver->delete_mem_notify(bo);
 
        ttm_bo_tt_destroy(bo);
        ttm_resource_free(bo, &bo->mem);
index de25cf016be23c2a443863f6666d4a04cafedf9f..88be48ad0344cdba71bb86209f8656fad3dd5aef 100644 (file)
@@ -771,6 +771,12 @@ fail:
        return ret;
 }
 
+static void
+vmw_delete_mem_notify(struct ttm_buffer_object *bo)
+{
+       vmw_move_notify(bo, false, NULL);
+}
+
 struct ttm_bo_driver vmw_bo_driver = {
        .ttm_tt_create = &vmw_ttm_tt_create,
        .ttm_tt_populate = &vmw_ttm_populate,
@@ -780,7 +786,7 @@ struct ttm_bo_driver vmw_bo_driver = {
        .evict_flags = vmw_evict_flags,
        .move = vmw_move,
        .verify_access = vmw_verify_access,
-       .move_notify = vmw_move_notify,
+       .delete_mem_notify = vmw_delete_mem_notify,
        .swap_notify = vmw_swap_notify,
        .io_mem_reserve = &vmw_ttm_io_mem_reserve,
 };
index 72f106b335e94555888c433e96f769964ba6d810..29f6a1d1c853d77510c733edb42d32304ec21ebc 100644 (file)
@@ -156,15 +156,9 @@ struct ttm_bo_driver {
                             struct file *filp);
 
        /**
-        * Hook to notify driver about a driver move so it
-        * can do tiling things and book-keeping.
-        *
-        * @evict: whether this move is evicting the buffer from the graphics
-        * address space
+        * Hook to notify driver about a resource delete.
         */
-       void (*move_notify)(struct ttm_buffer_object *bo,
-                           bool evict,
-                           struct ttm_resource *new_mem);
+       void (*delete_mem_notify)(struct ttm_buffer_object *bo);
 
        /**
         * notify the driver that we're about to swap out this bo