[PATCH v2 2/2] drm/xe: Re-register CCS save/restore contexts post S3/S4 resume

Satyanarayana K V P satyanarayana.k.v.p at intel.com
Fri Aug 1 13:24:41 UTC 2025


After resuming from S3/S4 states, QEMU issues a VF FLR which resets GuC
communication, causing the loss of registered CCS save/restore contexts
with GUC.

VM migration post-resume leads to data corruption since the GuC cannot
save CCS metadata without these contexts.

Re-register the CCS save/restore contexts with the GuC after S3/S4 resume
to resolve the issue.

Signed-off-by: Satyanarayana K V P <satyanarayana.k.v.p at intel.com>
Cc: Matthew Brost <matthew.brost at intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko at intel.com>

---
V1 -> V2:
- Added commit in V2 version.
---
 drivers/gpu/drm/xe/xe_pm.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/xe/xe_pm.c b/drivers/gpu/drm/xe/xe_pm.c
index 44aaf154ddf7..5e8126ca8e27 100644
--- a/drivers/gpu/drm/xe/xe_pm.c
+++ b/drivers/gpu/drm/xe/xe_pm.c
@@ -209,6 +209,9 @@ int xe_pm_resume(struct xe_device *xe)
 
 	xe_pxp_pm_resume(xe->pxp);
 
+	if (IS_SRIOV_VF(xe))
+		xe_sriov_vf_ccs_register_context(xe);
+
 	drm_dbg(&xe->drm, "Device resumed\n");
 	return 0;
 err:
-- 
2.43.0



More information about the Intel-xe mailing list