[PATCH 30/45] drm/ttm: add a new invalidate notify callback.
Dave Airlie
airlied at gmail.com
Thu Sep 24 05:18:30 UTC 2020
From: Dave Airlie <airlied at redhat.com>
Signed-off-by: Dave Airlie <airlied at redhat.com>
---
drivers/gpu/drm/ttm/ttm_bo.c | 4 +++-
include/drm/ttm/ttm_bo_driver.h | 7 +++++++
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
index a2a61a8d1394..ba69c682e53b 100644
--- a/drivers/gpu/drm/ttm/ttm_bo.c
+++ b/drivers/gpu/drm/ttm/ttm_bo.c
@@ -282,7 +282,9 @@ static int ttm_bo_handle_move_mem(struct ttm_buffer_object *bo,
static void ttm_bo_cleanup_memtype_use(struct ttm_buffer_object *bo)
{
- if (bo->bdev->driver->move_notify)
+ if (bo->bdev->driver->invalidate_notify)
+ bo->bdev->driver->invalidate_notify(bo);
+ else if (bo->bdev->driver->move_notify)
bo->bdev->driver->move_notify(bo, false, NULL);
ttm_bo_tt_destroy(bo);
diff --git a/include/drm/ttm/ttm_bo_driver.h b/include/drm/ttm/ttm_bo_driver.h
index cfb151dbb2d0..da4afe669664 100644
--- a/include/drm/ttm/ttm_bo_driver.h
+++ b/include/drm/ttm/ttm_bo_driver.h
@@ -165,6 +165,13 @@ struct ttm_bo_driver {
void (*move_notify)(struct ttm_buffer_object *bo,
bool evict,
struct ttm_resource *new_mem);
+
+ /**
+ * Hook to notify driver about a bo being torn down.
+ * can be used for invalidation instead of move_notify.
+ */
+ void (*invalidate_notify)(struct ttm_buffer_object *bo);
+
/* notify the driver we are taking a fault on this BO
* and have reserved it */
int (*fault_reserve_notify)(struct ttm_buffer_object *bo);
--
2.27.0
More information about the dri-devel
mailing list