drm/amdgpu: move force completion into ring resets

Move the force completion handling into each ring
reset function so that each engine can determine
whether or not it needs to force completion on the
jobs in the ring.

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Alex Deucher
2025-05-29 12:58:53 -04:00
parent 821aacb2dc
commit 2dee58ca47
21 changed files with 152 additions and 30 deletions

View File

@@ -5337,7 +5337,11 @@ static int gfx_v12_0_reset_kgq(struct amdgpu_ring *ring,
return r;
}
return amdgpu_ring_test_ring(ring);
r = amdgpu_ring_test_ring(ring);
if (r)
return r;
amdgpu_fence_driver_force_completion(ring);
return 0;
}
static int gfx_v12_0_reset_compute_pipe(struct amdgpu_ring *ring)
@@ -5452,7 +5456,11 @@ static int gfx_v12_0_reset_kcq(struct amdgpu_ring *ring,
return r;
}
return amdgpu_ring_test_ring(ring);
r = amdgpu_ring_test_ring(ring);
if (r)
return r;
amdgpu_fence_driver_force_completion(ring);
return 0;
}
static void gfx_v12_0_ring_begin_use(struct amdgpu_ring *ring)