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 <[email protected]>
Signed-off-by: Badal Nilawar <[email protected]>
---
  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:

Reply via email to