[Intel-xe] [PATCH v3 15/20] drm/xe/uc: Store firmware binary in system-memory backed BO

Matt Roper matthew.d.roper at intel.com
Wed Nov 15 22:34:34 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.
> 
> Signed-off-by: Michał Winiarski <michal.winiarski at intel.com>

Reviewed-by: Matt Roper <matthew.d.roper 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
> 

-- 
Matt Roper
Graphics Software Engineer
Linux GPU Platform Enablement
Intel Corporation


More information about the Intel-xe mailing list