diff options
| author | Alex Deucher <[email protected]> | 2025-05-29 16:58:53 +0000 |
|---|---|---|
| committer | Alex Deucher <[email protected]> | 2025-06-30 15:57:29 +0000 |
| commit | 2dee58ca471dae05c473270d0fb74efe01a78ccb (patch) | |
| tree | 6ac95b2ad849e720ed200a4a0705c922f1e7bec2 /drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c | |
| parent | drm/amdgpu: rework queue reset scheduler interaction (diff) | |
| download | kernel-2dee58ca471dae05c473270d0fb74efe01a78ccb.tar.gz kernel-2dee58ca471dae05c473270d0fb74efe01a78ccb.zip | |
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 <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c index 8d5c0ab016d2..39f4dd18c277 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c @@ -6842,7 +6842,11 @@ static int gfx_v11_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_v11_0_reset_compute_pipe(struct amdgpu_ring *ring) @@ -7004,7 +7008,11 @@ static int gfx_v11_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_v11_ip_print(struct amdgpu_ip_block *ip_block, struct drm_printer *p) |
