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

Matthew Brost matthew.brost at intel.com
Tue Aug 5 03:13:03 UTC 2025


On Fri, Aug 01, 2025 at 06:54:41PM +0530, Satyanarayana K V P wrote:
> 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>
> 

I'd just squash this one into the previous patch as functionality would
be broken without this patch.

Code changes lgtm though.

Matt 

> ---
> 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