]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
drm/xe/vf: Reset recovery_queued after issuing RESFIX_START
authorSatyanarayana K V P <satyanarayana.k.v.p@intel.com>
Wed, 10 Dec 2025 05:25:49 +0000 (05:25 +0000)
committerMichal Wajdeczko <michal.wajdeczko@intel.com>
Thu, 11 Dec 2025 13:48:56 +0000 (14:48 +0100)
commit7319c2ceb2d74d54f24b7f5409b97aed406f0189
tree846a93d39a4b8506fa96ae3c8610daf311c0ce59
parent8d8cf42b03f149dcb545b547906306f3b474565e
drm/xe/vf: Reset recovery_queued after issuing RESFIX_START

During VF_RESTORE or VF_RESUME, the GuC sends a migration interrupt and
clears the RESFIX_START marker. If migration or resume occurs before the
VF issues its own RESFIX_START, VF KMD may receive two back-to-back
migration interrupts. VF then sends RESFIX_START to indicate the beginning
of fixups and RESFIX_DONE to mark completion. However, the second
RESFIX_START fails because the GuC is already in the RUNNING state.

Clear the recovery_queued flag after sending a RESFIX_START message to
ignore duplicated IRQs seen before we start actual recovery.

This ensures the state is reset only after the fixup process begins,
avoiding redundant work item queuing.

Fixes: b5fbb94341a2 ("drm/xe/vf: Introduce RESFIX start marker support")
Signed-off-by: Satyanarayana K V P <satyanarayana.k.v.p@intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
Cc: Matthew Brost <matthew.brost@intel.com>
Cc: Tomasz Lis <tomasz.lis@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Link: https://patch.msgid.link/20251210052546.622809-6-satyanarayana.k.v.p@intel.com
drivers/gpu/drm/xe/xe_gt_sriov_vf.c