]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
drm/xe: Skip exec queue schedule toggle if queue is idle during suspend
authorMatthew Brost <matthew.brost@intel.com>
Fri, 12 Dec 2025 18:28:44 +0000 (10:28 -0800)
committerMatthew Brost <matthew.brost@intel.com>
Mon, 15 Dec 2025 21:54:18 +0000 (13:54 -0800)
commit8533051ce92015e9cc6f75e0d52119b9d91610b6
tree05ba6f75fc842d8b7747851f6ffaf008e935f531
parent6e608bff259fd1eae5d381c5eb16b88413e16209
drm/xe: Skip exec queue schedule toggle if queue is idle during suspend

If an exec queue is idle, there is no need to issue a schedule disable
to the GuC when suspending the queue’s execution. Opportunistically skip
this step if the queue is idle and not a parallel queue. Parallel queues
must have their scheduling state flipped in the GuC due to limitations
in how submission is implemented in run_job().

Also if all pagefault queues can skip the schedule disable during a
switch to dma-fence mode, do not schedule a resume for the pagefault
queues after the next submission.

v2:
 - Don't touch the LRC tail is queue is suspended but enabled in run_job
   (CI)

Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Link: https://patch.msgid.link/20251212182847.1683222-5-matthew.brost@intel.com
drivers/gpu/drm/xe/xe_exec_queue.h
drivers/gpu/drm/xe/xe_guc_submit.c
drivers/gpu/drm/xe/xe_hw_engine_group.c