From: Alex Deucher Date: Thu, 29 May 2025 17:12:35 +0000 (-0400) Subject: drm/amdgpu/sdma7: re-emit unprocessed state on ring reset X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=ea2791d05a2e8bd483df48f548e0293edc3bcc0f;p=users%2Fjedix%2Flinux-maple.git drm/amdgpu/sdma7: re-emit unprocessed state on ring reset Re-emit the unprocessed state after resetting the queue. Reviewed-by: Jesse Zhang Reviewed-by: Christian König Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c index ba1f3e3b6eb6..13abc0c46eab 100644 --- a/drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c +++ b/drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c @@ -817,7 +817,7 @@ static int sdma_v7_0_reset_queue(struct amdgpu_ring *ring, return -EINVAL; } - drm_sched_wqueue_stop(&ring->sched); + amdgpu_ring_reset_helper_begin(ring, timedout_fence); r = amdgpu_mes_reset_legacy_queue(adev, ring, vmid, true); if (r) @@ -826,9 +826,8 @@ static int sdma_v7_0_reset_queue(struct amdgpu_ring *ring, r = sdma_v7_0_gfx_resume_instance(adev, ring->me, true); if (r) return r; - amdgpu_fence_driver_force_completion(ring); - drm_sched_wqueue_start(&ring->sched); - return 0; + + return amdgpu_ring_reset_helper_end(ring, timedout_fence); } /**