drm/xe/uc: Store firmware binary in system-memory backed BO
authorMichał Winiarski <michal.winiarski@intel.com>
Tue, 5 Dec 2023 01:33:06 +0000 (02:33 +0100)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Thu, 21 Dec 2023 16:45:12 +0000 (11:45 -0500)
The firmware loading for GuC is about to be moved, and will happen much
earlier in the probe process, when local-memory is not yet available.
While this has the potential to make the firmware loading process
slower, this is only happening during probe and full device reset.
Since both are not hot-paths - store all UC-like firmware in system
memory.

Signed-off-by: Michał Winiarski <michal.winiarski@intel.com>
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_uc_fw.c

index f258eb44fe31cdd04487a9cb01fa0df02763f2c0..9abae65c6b2366cd09632d344ffbf839c89dd07c 100644 (file)
@@ -750,8 +750,6 @@ fail:
 int xe_uc_fw_init(struct xe_uc_fw *uc_fw)
 {
        const struct firmware *fw = NULL;
-       struct xe_gt *gt = uc_fw_to_gt(uc_fw);
-       struct xe_tile *tile = gt_to_tile(gt);
        int err;
 
        err = uc_fw_request(uc_fw, &fw);
@@ -763,7 +761,7 @@ int xe_uc_fw_init(struct xe_uc_fw *uc_fw)
                return 0;
 
        err = uc_fw_copy(uc_fw, fw->data, fw->size,
-                        XE_BO_CREATE_VRAM_IF_DGFX(tile) | XE_BO_CREATE_GGTT_BIT);
+                        XE_BO_CREATE_SYSTEM_BIT | XE_BO_CREATE_GGTT_BIT);
 
        uc_fw_release(fw);