mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-23 17:46:33 -04:00
drm/xe/multi_queue: skip submit when primary queue is suspended
Return early in submit path when the multi-queue primary exec queue is suspended to avoid submitting while suspended. v2: Remove idle_skip_suspend fix as that feature is being reverted here https://patchwork.freedesktop.org/series/167262/ Fixes:bc5775c592("drm/xe/multi_queue: Add GuC interface for multi queue support") Cc: stable@vger.kernel.org # v7.0+ Assisted-by: GitHub-Copilot:claude-sonnet-4.6 Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Signed-off-by: Niranjana Vishwanathapura <niranjana.vishwanathapura@intel.com> Link: https://patch.msgid.link/20260603233946.863663-2-niranjana.vishwanathapura@intel.com (cherry picked from commitb7fb55cc33) Signed-off-by: Matthew Brost <matthew.brost@intel.com>
This commit is contained in:
committed by
Matthew Brost
parent
1141574cb8
commit
65280af331
@@ -1151,9 +1151,12 @@ static void submit_exec_queue(struct xe_exec_queue *q, struct xe_sched_job *job)
|
||||
|
||||
/*
|
||||
* All queues in a multi-queue group will use the primary queue
|
||||
* of the group to interface with GuC.
|
||||
* of the group to interface with GuC. If primay is suspended,
|
||||
* just return. Jobs will get scheduled once primary is resumed.
|
||||
*/
|
||||
q = xe_exec_queue_multi_queue_primary(q);
|
||||
if (exec_queue_suspended(q))
|
||||
return;
|
||||
|
||||
if (!exec_queue_enabled(q) && !exec_queue_suspended(q)) {
|
||||
action[len++] = XE_GUC_ACTION_SCHED_CONTEXT_MODE_SET;
|
||||
|
||||
Reference in New Issue
Block a user