[PATCH v4 07/10] drm/xe/xe_late_bind_fw: Reload late binding fw during system resume

Nilawar, Badal badal.nilawar at intel.com
Fri Jun 27 07:53:16 UTC 2025


Hi Daniele,

On 25-06-2025 22:30, Badal Nilawar wrote:
> Reload late binding fw during resume from system suspend
>
> v2:
>    - Unconditionally reload late binding fw (Rodrigo)
>    - Flush worker during system suspend
>
> Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
> Signed-off-by: Badal Nilawar <badal.nilawar at intel.com>
> ---
>   drivers/gpu/drm/xe/xe_pm.c | 4 ++++
>   1 file changed, 4 insertions(+)
>
> diff --git a/drivers/gpu/drm/xe/xe_pm.c b/drivers/gpu/drm/xe/xe_pm.c
> index 91923fd4af80..f49b7b6eab97 100644
> --- a/drivers/gpu/drm/xe/xe_pm.c
> +++ b/drivers/gpu/drm/xe/xe_pm.c
> @@ -127,6 +127,8 @@ int xe_pm_suspend(struct xe_device *xe)
>   	if (err)
>   		goto err;
>   
> +	xe_late_bind_wait_for_worker_completion(&xe->late_bind);
> +

During system suspend, MEI will unbind the component. This flush is 
unnecessary because it takes place within 
xe_late_bind_component_unbind(). I will remove this call.

Badal

>   	for_each_gt(gt, xe, id)
>   		xe_gt_suspend_prepare(gt);
>   
> @@ -205,6 +207,8 @@ int xe_pm_resume(struct xe_device *xe)
>   
>   	xe_pxp_pm_resume(xe->pxp);
>   
> +	xe_late_bind_fw_load(&xe->late_bind);
> +
>   	drm_dbg(&xe->drm, "Device resumed\n");
>   	return 0;
>   err:


More information about the Intel-xe mailing list