Commit e4dc45b1 authored by Arvind Yadav's avatar Arvind Yadav Committed by Christian König

drm/sched: Use parent fence instead of finished

Using the parent fence instead of the finished fence
to get the job status. This change is to avoid GPU
scheduler timeout error which can cause GPU reset.
Signed-off-by: default avatarArvind Yadav <Arvind.Yadav@amd.com>
Reviewed-by: default avatarAndrey Grodzovsky <andrey.grodzovsky@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220914164321.2156-6-Arvind.Yadav@amd.comSigned-off-by: default avatarChristian König <christian.koenig@amd.com>
parent b96fb1e7
...@@ -829,7 +829,7 @@ drm_sched_get_cleanup_job(struct drm_gpu_scheduler *sched) ...@@ -829,7 +829,7 @@ drm_sched_get_cleanup_job(struct drm_gpu_scheduler *sched)
job = list_first_entry_or_null(&sched->pending_list, job = list_first_entry_or_null(&sched->pending_list,
struct drm_sched_job, list); struct drm_sched_job, list);
if (job && dma_fence_is_signaled(&job->s_fence->finished)) { if (job && dma_fence_is_signaled(job->s_fence->parent)) {
/* remove job from pending_list */ /* remove job from pending_list */
list_del_init(&job->list); list_del_init(&job->list);
...@@ -841,7 +841,7 @@ drm_sched_get_cleanup_job(struct drm_gpu_scheduler *sched) ...@@ -841,7 +841,7 @@ drm_sched_get_cleanup_job(struct drm_gpu_scheduler *sched)
if (next) { if (next) {
next->s_fence->scheduled.timestamp = next->s_fence->scheduled.timestamp =
job->s_fence->finished.timestamp; job->s_fence->parent->timestamp;
/* start TO timer for next job */ /* start TO timer for next job */
drm_sched_start_timeout(sched); drm_sched_start_timeout(sched);
} }
......
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