aboutsummaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
diff options
context:
space:
mode:
authorGravatar Victor Zhao <Victor.Zhao@amd.com> 2022-06-24 12:00:06 +0800
committerGravatar Alex Deucher <alexander.deucher@amd.com> 2022-08-16 18:14:31 -0400
commit194eb174cbe4fe2b3376ac30acca2dc8c8beca00 (patch)
tree7b47276a92eb81bb4e62e8fdc54c2fc470c46633 /drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
parentdrm/amdgpu: revert context to stop engine before mode2 reset (diff)
downloadlinux-194eb174cbe4fe2b3376ac30acca2dc8c8beca00.tar.gz
linux-194eb174cbe4fe2b3376ac30acca2dc8c8beca00.tar.bz2
linux-194eb174cbe4fe2b3376ac30acca2dc8c8beca00.zip
drm/amdgpu: reduce reset time
In multi container use case, reset time is important, so skip ring tests and cp halt wait during ip suspending for reset as they are going to fail and cost more time on reset v2: add a hang flag to indicate the reset comes from a job timeout, skip ring test and cp halt wait in this case v3: move hang flag to adev Signed-off-by: Victor Zhao <Victor.Zhao@amd.com> Acked-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_job.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_job.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
index 36f49da15800..8f51adf3b329 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
@@ -49,6 +49,7 @@ static enum drm_gpu_sched_stat amdgpu_job_timedout(struct drm_sched_job *s_job)
}
memset(&ti, 0, sizeof(struct amdgpu_task_info));
+ adev->job_hang = true;
if (amdgpu_gpu_recovery &&
amdgpu_ring_soft_recovery(ring, job->vmid, s_job->s_fence->parent)) {
@@ -83,6 +84,7 @@ static enum drm_gpu_sched_stat amdgpu_job_timedout(struct drm_sched_job *s_job)
}
exit:
+ adev->job_hang = false;
drm_dev_exit(idx);
return DRM_GPU_SCHED_STAT_NOMINAL;
}