[Intel-xe] [PATCH 3/3] drm/xe: Don't hardcode GuC's MOCS index in register header

Matthew Brost matthew.brost at intel.com
Mon Jun 5 17:11:53 UTC 2023


On Fri, Jun 02, 2023 at 04:52:10PM -0700, Matt Roper wrote:
> Although PVC is currently the only platform that needs us to program a
> GuC register with the index of an uncached MOCS entry, it's likely other
> platforms will need this in the future.  Rather than hardcoding PVC's
> index into the register header, we should just pull the appropriate
> index from gt->mocs.uc_index to future-proof the code.
> 
> Signed-off-by: Matt Roper <matthew.d.roper at intel.com>

Reviewed-by: Matthew Brost <matthew.brost at intel.com>

> ---
>  drivers/gpu/drm/xe/regs/xe_guc_regs.h | 5 +----
>  drivers/gpu/drm/xe/xe_guc.c           | 2 +-
>  2 files changed, 2 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/xe/regs/xe_guc_regs.h b/drivers/gpu/drm/xe/regs/xe_guc_regs.h
> index ea8118f16722..fcb747201bc1 100644
> --- a/drivers/gpu/drm/xe/regs/xe_guc_regs.h
> +++ b/drivers/gpu/drm/xe/regs/xe_guc_regs.h
> @@ -45,10 +45,7 @@
>  #define   GUC_WOPCM_SIZE_LOCKED			REG_BIT(0)
>  
>  #define GUC_SHIM_CONTROL			XE_REG(0xc064)
> -#define   PVC_GUC_MOCS_INDEX_MASK		REG_GENMASK(25, 24)
> -#define   PVC_GUC_MOCS_UC_INDEX			1
> -#define   PVC_GUC_MOCS_INDEX(index)		REG_FIELD_PREP(PVC_GUC_MOCS_INDEX_MASK, \
> -							       index)
> +#define   GUC_MOCS_INDEX_MASK			REG_GENMASK(25, 24)
>  #define   GUC_SHIM_WC_ENABLE			REG_BIT(21)
>  #define   GUC_ENABLE_MIA_CLOCK_GATING		REG_BIT(15)
>  #define   GUC_ENABLE_READ_CACHE_FOR_WOPCM_DATA	REG_BIT(10)
> diff --git a/drivers/gpu/drm/xe/xe_guc.c b/drivers/gpu/drm/xe/xe_guc.c
> index 04a57af85d9e..e51d8fb4a354 100644
> --- a/drivers/gpu/drm/xe/xe_guc.c
> +++ b/drivers/gpu/drm/xe/xe_guc.c
> @@ -328,7 +328,7 @@ static void guc_prepare_xfer(struct xe_guc *guc)
>  				GUC_ENABLE_MIA_CACHING;
>  
>  	if (xe->info.platform == XE_PVC)
> -		shim_flags |= PVC_GUC_MOCS_INDEX(PVC_GUC_MOCS_UC_INDEX);
> +		shim_flags |= REG_FIELD_PREP(GUC_MOCS_INDEX_MASK, gt->mocs.uc_index);
>  
>  	/* Must program this register before loading the ucode with DMA */
>  	xe_mmio_write32(gt, GUC_SHIM_CONTROL, shim_flags);
> -- 
> 2.40.1
> 


More information about the Intel-xe mailing list