diff options
| author | Alex Deucher <alexander.deucher@amd.com> | 2025-06-16 17:45:05 -0400 |
|---|---|---|
| committer | Alex Deucher <alexander.deucher@amd.com> | 2025-06-30 11:58:22 -0400 |
| commit | 38b20968f3d8a603a979ac50ff6cf3553e0b3daf (patch) | |
| tree | 98ef3fcac37571f4ea54a32a324bb8c7ed9e9529 /drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c | |
| parent | 43ca5eb94b38c1b3c71bca36025050dfaab1ef33 (diff) | |
| download | linux-next-38b20968f3d8a603a979ac50ff6cf3553e0b3daf.tar.gz linux-next-38b20968f3d8a603a979ac50ff6cf3553e0b3daf.zip | |
drm/amdgpu: move scheduler wqueue handling into callbacks
Move the scheduler wqueue stopping and starting into
the ring reset callbacks. On some IPs we have to reset
an engine which may have multiple queues. Move the wqueue
handling into the backend so we can handle them as needed
based on the type of reset available.
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c index b00c63812899..99a080bad2a3 100644 --- a/drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c +++ b/drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c @@ -822,6 +822,8 @@ static int sdma_v7_0_reset_queue(struct amdgpu_ring *ring, return -EINVAL; } + drm_sched_wqueue_stop(&ring->sched); + r = amdgpu_mes_reset_legacy_queue(adev, ring, vmid, true); if (r) return r; @@ -830,6 +832,7 @@ static int sdma_v7_0_reset_queue(struct amdgpu_ring *ring, if (r) return r; amdgpu_fence_driver_force_completion(ring); + drm_sched_wqueue_start(&ring->sched); return 0; } |
