[PATCH 1/2] drm/ttm: test private resv obj on release/destroy
James Zhu
jamesz at amd.com
Thu Jan 30 02:48:35 UTC 2025
Reviewed-and-Tested-by: James Zhu <James.Zhu at amd.com> for the series
On 2025-01-29 10:28, Christian König wrote:
> Test the fences in the private dma_resv object instead of the pointer to
> a potentially shared dma_resv object.
>
> This only matters for imported BOs with an SG table since those don't
> get their dma_resv pointer replaced on release.
>
> Signed-off-by: Christian König <christian.koenig at amd.com>
> ---
> drivers/gpu/drm/ttm/ttm_bo.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c
> index 06d6a452c4f4..4d6b2143db63 100644
> --- a/drivers/gpu/drm/ttm/ttm_bo.c
> +++ b/drivers/gpu/drm/ttm/ttm_bo.c
> @@ -234,7 +234,7 @@ static void ttm_bo_delayed_delete(struct work_struct *work)
>
> bo = container_of(work, typeof(*bo), delayed_delete);
>
> - dma_resv_wait_timeout(bo->base.resv, DMA_RESV_USAGE_BOOKKEEP, false,
> + dma_resv_wait_timeout(&bo->base._resv, DMA_RESV_USAGE_BOOKKEEP, false,
> MAX_SCHEDULE_TIMEOUT);
> dma_resv_lock(bo->base.resv, NULL);
> ttm_bo_cleanup_memtype_use(bo);
> @@ -269,7 +269,7 @@ static void ttm_bo_release(struct kref *kref)
> drm_vma_offset_remove(bdev->vma_manager, &bo->base.vma_node);
> ttm_mem_io_free(bdev, bo->resource);
>
> - if (!dma_resv_test_signaled(bo->base.resv,
> + if (!dma_resv_test_signaled(&bo->base._resv,
> DMA_RESV_USAGE_BOOKKEEP) ||
> (want_init_on_free() && (bo->ttm != NULL)) ||
> bo->type == ttm_bo_type_sg ||
More information about the amd-gfx
mailing list