]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/xe/xe_late_bind_fw: Reload late binding fw during system resume
authorBadal Nilawar <badal.nilawar@intel.com>
Fri, 5 Sep 2025 15:49:51 +0000 (21:19 +0530)
committerLucas De Marchi <lucas.demarchi@intel.com>
Thu, 18 Sep 2025 16:32:01 +0000 (09:32 -0700)
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@intel.com>
Signed-off-by: Badal Nilawar <badal.nilawar@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://lore.kernel.org/r/20250905154953.3974335-8-badal.nilawar@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
drivers/gpu/drm/xe/xe_pm.c

index d34e1c1be35bbad9e7b7173270b95c12b3d93afd..d6625c71115b1f99fbe75bda000ecd674a7fae42 100644 (file)
@@ -130,6 +130,8 @@ int xe_pm_suspend(struct xe_device *xe)
        if (err)
                goto err;
 
+       xe_late_bind_wait_for_worker_completion(&xe->late_bind);
+
        for_each_gt(gt, xe, id)
                xe_gt_suspend_prepare(gt);
 
@@ -217,6 +219,8 @@ int xe_pm_resume(struct xe_device *xe)
        if (IS_VF_CCS_READY(xe))
                xe_sriov_vf_ccs_register_context(xe);
 
+       xe_late_bind_fw_load(&xe->late_bind);
+
        drm_dbg(&xe->drm, "Device resumed\n");
        return 0;
 err: