diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_job.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 6 | 
1 files changed, 4 insertions, 2 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c index ff48101bab55..759b34799221 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c @@ -28,7 +28,7 @@  #include "amdgpu.h"  #include "amdgpu_trace.h" -static void amdgpu_job_timedout(struct drm_sched_job *s_job) +static enum drm_gpu_sched_stat amdgpu_job_timedout(struct drm_sched_job *s_job)  {  	struct amdgpu_ring *ring = to_amdgpu_ring(s_job->sched);  	struct amdgpu_job *job = to_amdgpu_job(s_job); @@ -41,7 +41,7 @@ static void amdgpu_job_timedout(struct drm_sched_job *s_job)  	    amdgpu_ring_soft_recovery(ring, job->vmid, s_job->s_fence->parent)) {  		DRM_ERROR("ring %s timeout, but soft recovered\n",  			  s_job->sched->name); -		return; +		return DRM_GPU_SCHED_STAT_NOMINAL;  	}  	amdgpu_vm_get_task_info(ring->adev, job->pasid, &ti); @@ -53,10 +53,12 @@ static void amdgpu_job_timedout(struct drm_sched_job *s_job)  	if (amdgpu_device_should_recover_gpu(ring->adev)) {  		amdgpu_device_gpu_recover(ring->adev, job); +		return DRM_GPU_SCHED_STAT_NOMINAL;  	} else {  		drm_sched_suspend_timeout(&ring->sched);  		if (amdgpu_sriov_vf(adev))  			adev->virt.tdr_debug = true; +		return DRM_GPU_SCHED_STAT_NOMINAL;  	}  } | 
