[PATCH 30/45] drm/ttm: add a new invalidate notify callback.
Christian König
christian.koenig at amd.com
Thu Sep 24 12:25:34 UTC 2020
Am 24.09.20 um 07:18 schrieb Dave Airlie:
> From: Dave Airlie <airlied at redhat.com>
>
> Signed-off-by: Dave Airlie <airlied at redhat.com>
NAK, completely unnecessary.
We should rather do the remaining accounting in the already existing
release_notify() callback.
That makes much more sense and if I'm not completely mistaken could
actually fix a bug in amdgpu.
Christian.
> ---
> 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);
More information about the dri-devel
mailing list