[PATCH v3 4/9] drm/xe: Stash GMD_ID value in xe_gt

Souza, Jose jose.souza at intel.com
Tue Jan 23 21:16:10 UTC 2024


On Tue, 2024-01-23 at 12:44 -0800, José Roberto de Souza wrote:
> From: Matt Roper <matthew.d.roper at intel.com>
> 
> Although we've stored the major and minor versions for graphics/media in
> xe_device, it will be simpler to implement the uapi version query if we
> also stash the raw register value in the GT itself.
> 
> Signed-off-by: Matt Roper <matthew.d.roper at intel.com>
> Reviewed-by: Lucas De Marchi <lucas.demarchi at intel.com>
> ---
>  drivers/gpu/drm/xe/xe_gt.c       | 6 ++++++
>  drivers/gpu/drm/xe/xe_gt_types.h | 2 ++
>  2 files changed, 8 insertions(+)
> 
> diff --git a/drivers/gpu/drm/xe/xe_gt.c b/drivers/gpu/drm/xe/xe_gt.c
> index 1fe4d54409d34..47cb87f599e46 100644
> --- a/drivers/gpu/drm/xe/xe_gt.c
> +++ b/drivers/gpu/drm/xe/xe_gt.c
> @@ -399,6 +399,12 @@ static int gt_fw_domain_init(struct xe_gt *gt)
>  	/* Initialize CCS mode sysfs after early initialization of HW engines */
>  	xe_gt_ccs_mode_sysfs_init(gt);
>  
> +	/*
> +	 * Stash hardware-reported version.  Since this register does not exist
> +	 * on pre-MTL platforms, reading it there will (correctly) return 0.
> +	 */
> +	gt->info.gmdid = xe_mmio_read32(gt, GMD_ID);
> +
>  	err = xe_force_wake_put(gt_to_fw(gt), XE_FW_GT);
>  	XE_WARN_ON(err);
>  	xe_device_mem_access_put(gt_to_xe(gt));
> diff --git a/drivers/gpu/drm/xe/xe_gt_types.h b/drivers/gpu/drm/xe/xe_gt_types.h
> index 3caaea2ff908a..354d589fb92d5 100644
> --- a/drivers/gpu/drm/xe/xe_gt_types.h
> +++ b/drivers/gpu/drm/xe/xe_gt_types.h
> @@ -117,6 +117,8 @@ struct xe_gt {
>  		 * hwconfig blob.
>  		 */
>  		u64 __engine_mask;
> +		/** @gmdid: raw GMD_ID value from hardware */

Last CI.Hook failured is caused because this line should be:

/** @info.gmdid: raw GMD_ID value from hardware */

Will fix in next version or while applying. 

> +		u32 gmdid;
>  	} info;
>  
>  	/**



More information about the Intel-xe mailing list