Make sure we always restart the timer after a timeout and remove the
device specific workarounds.
Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
        change = dma_addr - gpu->hangcheck_dma_addr;
        if (change < 0 || change > 16) {
                gpu->hangcheck_dma_addr = dma_addr;
-               schedule_delayed_work(&sched_job->sched->work_tdr,
-                                     sched_job->sched->timeout);
                return;
        }
 
 
 already_signaled:
                ;
        }
+       drm_sched_start_timeout(sched);
        spin_unlock(&sched->job_list_lock);
 }
 
 
        if (job->timedout_ctca != ctca || job->timedout_ctra != ctra) {
                job->timedout_ctca = ctca;
                job->timedout_ctra = ctra;
-
-               schedule_delayed_work(&job->base.sched->work_tdr,
-                                     job->base.sched->timeout);
                return;
        }