[PATCH] drm/amdgpu: Fix warning in dma_fence_is_later on resume from S3.

Zhang, Jerry (Junwei) Jerry.Zhang at amd.com
Mon Jul 23 09:11:52 UTC 2018


On 07/20/2018 11:47 PM, Andrey Grodzovsky wrote:
> Problem:
> amdgpu_ttm_set_buffer_funcs_status destroys adev->mman.entity on suspend
> without releasing adev->mman.bdev.man[TTM_PL_VRAM].move fence
> so on resume the new drm_sched_entity.fence_context causes
> the warning against the old fence context which is different.
>
> Fix:
> When destroying sched_entity in amdgpu_ttm_set_buffer_funcs_status
> release man->move fence and set the pointer to NULL.
>
> Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky at amd.com>
Acked-by: Junwei Zhang <Jerry.Zhang at amd.com>

> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 2 ++
>   1 file changed, 2 insertions(+)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> index 13977ea..8ed1029 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> @@ -1927,6 +1927,8 @@ void amdgpu_ttm_set_buffer_funcs_status(struct amdgpu_device *adev, bool enable)
>   	} else {
>   		drm_sched_entity_destroy(adev->mman.entity.sched,
>   					 &adev->mman.entity);
> +		dma_fence_put(man->move);
> +		man->move = NULL;
>   	}
>
>   	/* this just adjusts TTM size idea, which sets lpfn to the correct value */
>


More information about the amd-gfx mailing list