diff options
| author | Alex Deucher <[email protected]> | 2025-06-16 21:45:05 +0000 |
|---|---|---|
| committer | Alex Deucher <[email protected]> | 2025-06-30 15:58:22 +0000 |
| commit | 38b20968f3d8a603a979ac50ff6cf3553e0b3daf (patch) | |
| tree | 98ef3fcac37571f4ea54a32a324bb8c7ed9e9529 /drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | |
| parent | drm/amdgpu: move guilty handling into ring resets (diff) | |
| download | kernel-38b20968f3d8a603a979ac50ff6cf3553e0b3daf.tar.gz kernel-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 <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_job.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c index 3b7d3844a74b..f0b7080dccb8 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c @@ -135,17 +135,9 @@ static enum drm_gpu_sched_stat amdgpu_job_timedout(struct drm_sched_job *s_job) } else if (amdgpu_gpu_recovery && ring->funcs->reset) { dev_err(adev->dev, "Starting %s ring reset\n", s_job->sched->name); - - /* - * Stop the scheduler to prevent anybody else from touching the - * ring buffer. - */ - drm_sched_wqueue_stop(&ring->sched); - r = amdgpu_ring_reset(ring, job->vmid, NULL); if (!r) { atomic_inc(&ring->adev->gpu_reset_counter); - drm_sched_wqueue_start(&ring->sched); dev_err(adev->dev, "Ring %s reset succeeded\n", ring->sched.name); drm_dev_wedged_event(adev_to_drm(adev), |
