]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/amdgpu/sdma5.2: re-emit unprocessed state on ring reset
authorAlex Deucher <alexander.deucher@amd.com>
Thu, 26 Jun 2025 13:53:18 +0000 (09:53 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 17 Jul 2025 16:36:46 +0000 (12:36 -0400)
Re-emit the unprocessed state after resetting the queue.

Reviewed-by: Jesse Zhang <Jesse.Zhang@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c

index e542195972dd4b658173fca295cfd64dd65caa59..5d56029e88a6239703700c7b8cceaab08bb15cce 100644 (file)
@@ -1469,11 +1469,15 @@ static int sdma_v5_2_reset_queue(struct amdgpu_ring *ring,
                return -EINVAL;
        }
 
+       amdgpu_ring_reset_helper_begin(ring, timedout_fence);
+
        amdgpu_amdkfd_suspend(adev, true);
-       r = amdgpu_sdma_reset_engine(adev, ring->me, false);
+       r = amdgpu_sdma_reset_engine(adev, ring->me, true);
        amdgpu_amdkfd_resume(adev, true);
+       if (r)
+               return r;
 
-       return r;
+       return amdgpu_ring_reset_helper_end(ring, timedout_fence);
 }
 
 static int sdma_v5_2_stop_queue(struct amdgpu_ring *ring)