mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-10 15:10:38 +00:00
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: Arvind Yadav <Arvind.Yadav@amd.com> Reviewed-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com> Link: https://patchwork.freedesktop.org/patch/msgid/20220914164321.2156-6-Arvind.Yadav@amd.com Signed-off-by: Christian König <christian.koenig@amd.com>
This commit is contained in:
parent
b96fb1e724
commit
e4dc45b184
@ -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)
|
|||||||
|
|
||||||
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);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user