[PATCH 1/2] drm/amdgpu: IH process reset count when restart
Christian König
ckoenig.leichtzumerken at gmail.com
Mon Nov 15 13:42:21 UTC 2021
Am 13.11.21 um 01:05 schrieb Philip Yang:
> Otherwise when IH process restart, count is zero, the loop will
> not exit to wake_up_all after processing AMDGPU_IH_MAX_NUM_IVS
> interrupts.
>
> Signed-off-by: Philip Yang <Philip.Yang at amd.com>
Reviewed-by: Christian König <christian.koenig at amd.com>
Maybe even CC: stable?
Regards,
Christian.
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c
> index f3d62e196901..0c7963dfacad 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ih.c
> @@ -223,7 +223,7 @@ int amdgpu_ih_wait_on_checkpoint_process(struct amdgpu_device *adev,
> */
> int amdgpu_ih_process(struct amdgpu_device *adev, struct amdgpu_ih_ring *ih)
> {
> - unsigned int count = AMDGPU_IH_MAX_NUM_IVS;
> + unsigned int count;
> u32 wptr;
>
> if (!ih->enabled || adev->shutdown)
> @@ -232,6 +232,7 @@ int amdgpu_ih_process(struct amdgpu_device *adev, struct amdgpu_ih_ring *ih)
> wptr = amdgpu_ih_get_wptr(adev, ih);
>
> restart_ih:
> + count = AMDGPU_IH_MAX_NUM_IVS;
> DRM_DEBUG("%s: rptr %d, wptr %d\n", __func__, ih->rptr, wptr);
>
> /* Order reading of wptr vs. reading of IH ring data */
More information about the amd-gfx
mailing list