]> Git Repo - linux.git/commitdiff
drm/xe: Resume TDR after GT reset
authorMatthew Brost <[email protected]>
Wed, 24 Jul 2024 23:59:19 +0000 (16:59 -0700)
committerMatthew Brost <[email protected]>
Fri, 27 Sep 2024 07:07:51 +0000 (00:07 -0700)
Not starting the TDR after GT reset on exec queue which have been
restarted can lead to jobs being able to be run forever. Fix this by
restarting the TDR.

Fixes: dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel GPUs")
Signed-off-by: Matthew Brost <[email protected]>
Reviewed-by: Nirmoy Das <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
drivers/gpu/drm/xe/xe_gpu_scheduler.c
drivers/gpu/drm/xe/xe_gpu_scheduler.h
drivers/gpu/drm/xe/xe_guc_submit.c

index c518d1d16d828595802828bcdd1bcddb78b04433..50361b4638f96a81f171743db024ec9938bc1a75 100644 (file)
@@ -90,6 +90,11 @@ void xe_sched_submission_stop(struct xe_gpu_scheduler *sched)
        cancel_work_sync(&sched->work_process_msg);
 }
 
+void xe_sched_submission_resume_tdr(struct xe_gpu_scheduler *sched)
+{
+       drm_sched_resume_timeout(&sched->base, sched->base.timeout);
+}
+
 void xe_sched_add_msg(struct xe_gpu_scheduler *sched,
                      struct xe_sched_msg *msg)
 {
index cee9c6809fc0df5997379ff62cb23d07b9ad278a..5ad5629a6c604348a82a4ce76fed4d2e0b3a410f 100644 (file)
@@ -22,6 +22,8 @@ void xe_sched_fini(struct xe_gpu_scheduler *sched);
 void xe_sched_submission_start(struct xe_gpu_scheduler *sched);
 void xe_sched_submission_stop(struct xe_gpu_scheduler *sched);
 
+void xe_sched_submission_resume_tdr(struct xe_gpu_scheduler *sched);
+
 void xe_sched_add_msg(struct xe_gpu_scheduler *sched,
                      struct xe_sched_msg *msg);
 void xe_sched_add_msg_locked(struct xe_gpu_scheduler *sched,
index 98a6a385a79646842dcbe8af5c0b2c65619cfe90..80062e1d3f663d6b085c8eab38b93106063ceeb4 100644 (file)
@@ -1826,6 +1826,7 @@ static void guc_exec_queue_start(struct xe_exec_queue *q)
        }
 
        xe_sched_submission_start(sched);
+       xe_sched_submission_resume_tdr(sched);
 }
 
 int xe_guc_submit_start(struct xe_guc *guc)
This page took 0.052222 seconds and 4 git commands to generate.