[Intel-xe] [PATCH v3 15/20] drm/xe/uc: Store firmware binary in system-memory backed BO
Lucas De Marchi
lucas.demarchi at intel.com
Mon Nov 20 20:04:46 UTC 2023
On Tue, Nov 14, 2023 at 02:02:26PM +0100, Michał Winiarski wrote:
>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.
is this really possible? AFAIR we needed it to be in vram for DG2.
Or maybe it was a WA that is not needed anymore?
+Daniele. Do you remember any limitation here?
Lucas De Marchi
>
>Signed-off-by: Michał Winiarski <michal.winiarski at intel.com>
>---
> drivers/gpu/drm/xe/xe_uc_fw.c | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
>diff --git a/drivers/gpu/drm/xe/xe_uc_fw.c b/drivers/gpu/drm/xe/xe_uc_fw.c
>index df46751fb5959..b04dd7d034d83 100644
>--- a/drivers/gpu/drm/xe/xe_uc_fw.c
>+++ b/drivers/gpu/drm/xe/xe_uc_fw.c
>@@ -636,8 +636,6 @@ static int uc_fw_copy(struct xe_uc_fw *uc_fw, const void *data, size_t size, u32
> 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);
>@@ -649,7 +647,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);
>
>--
>2.42.1
>
More information about the Intel-xe
mailing list