Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/xe/xe_late_bind_fw: Reload late binding fw in rpm resume

Reload late binding fw during runtime resume.

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-7-badal.nilawar@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>

authored by

Badal Nilawar and committed by
Lucas De Marchi
69ac1bb8 691a54ad

+6 -1
+1 -1
drivers/gpu/drm/xe/xe_late_bind_fw.c
··· 82 82 return 0; 83 83 } 84 84 85 - static void xe_late_bind_wait_for_worker_completion(struct xe_late_bind *late_bind) 85 + void xe_late_bind_wait_for_worker_completion(struct xe_late_bind *late_bind) 86 86 { 87 87 struct xe_device *xe = late_bind_to_xe(late_bind); 88 88 struct xe_late_bind_fw *lbfw;
+1
drivers/gpu/drm/xe/xe_late_bind_fw.h
··· 12 12 13 13 int xe_late_bind_init(struct xe_late_bind *late_bind); 14 14 int xe_late_bind_fw_load(struct xe_late_bind *late_bind); 15 + void xe_late_bind_wait_for_worker_completion(struct xe_late_bind *late_bind); 15 16 16 17 #endif
+4
drivers/gpu/drm/xe/xe_pm.c
··· 21 21 #include "xe_gt_idle.h" 22 22 #include "xe_i2c.h" 23 23 #include "xe_irq.h" 24 + #include "xe_late_bind_fw.h" 24 25 #include "xe_pcode.h" 25 26 #include "xe_pxp.h" 26 27 #include "xe_sriov_vf_ccs.h" ··· 601 600 602 601 if (IS_VF_CCS_READY(xe)) 603 602 xe_sriov_vf_ccs_register_context(xe); 603 + 604 + if (xe->d3cold.allowed) 605 + xe_late_bind_fw_load(&xe->late_bind); 604 606 605 607 out: 606 608 xe_rpm_lockmap_release(xe);