Commit 19067e52 authored by Christian König's avatar Christian König Committed by Alex Deucher

drm/sched: make sure timer is restarted

Make sure we always restart the timer after a timeout and remove the
device specific workarounds.
Signed-off-by: default avatarChristian König <christian.koenig@amd.com>
Reviewed-by: default avatarAndrey Grodzovsky <andrey.grodzovsky@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 548f2ecc
...@@ -105,8 +105,6 @@ static void etnaviv_sched_timedout_job(struct drm_sched_job *sched_job) ...@@ -105,8 +105,6 @@ static void etnaviv_sched_timedout_job(struct drm_sched_job *sched_job)
change = dma_addr - gpu->hangcheck_dma_addr; change = dma_addr - gpu->hangcheck_dma_addr;
if (change < 0 || change > 16) { if (change < 0 || change > 16) {
gpu->hangcheck_dma_addr = dma_addr; gpu->hangcheck_dma_addr = dma_addr;
schedule_delayed_work(&sched_job->sched->work_tdr,
sched_job->sched->timeout);
return; return;
} }
......
...@@ -283,6 +283,7 @@ static void drm_sched_job_timedout(struct work_struct *work) ...@@ -283,6 +283,7 @@ static void drm_sched_job_timedout(struct work_struct *work)
already_signaled: already_signaled:
; ;
} }
drm_sched_start_timeout(sched);
spin_unlock(&sched->job_list_lock); spin_unlock(&sched->job_list_lock);
} }
......
...@@ -167,9 +167,6 @@ v3d_job_timedout(struct drm_sched_job *sched_job) ...@@ -167,9 +167,6 @@ v3d_job_timedout(struct drm_sched_job *sched_job)
if (job->timedout_ctca != ctca || job->timedout_ctra != ctra) { if (job->timedout_ctca != ctca || job->timedout_ctra != ctra) {
job->timedout_ctca = ctca; job->timedout_ctca = ctca;
job->timedout_ctra = ctra; job->timedout_ctra = ctra;
schedule_delayed_work(&job->base.sched->work_tdr,
job->base.sched->timeout);
return; return;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment