[Intel-xe] [PATCH v2 12/15] drm/xe/xe2: Program GuC's MOCS on Xe2 and beyond

Balasubramani Vivekanandan balasubramani.vivekanandan at intel.com
Tue Aug 22 06:27:42 UTC 2023


On 18.08.2023 15:08, Lucas De Marchi wrote:
> From: Matt Roper <matthew.d.roper at intel.com>
> 
> As with PVC, Xe2 platforms require that the index of an uncached MOCS
> entry be programmed into the GUC_SHIM_CONTROL register.  This will
> likely be needed on future platforms as well.
> 
> Xe2 also extends the size of the MOCS index register field from two bits
> to four bits.  Since these extra bits were unused on PVC, it should be
> safe to just increase the size of the mask.
> 
> Bspec: 60592
> Cc: Haridhar Kalvala <haridhar.kalvala at intel.com>
> Signed-off-by: Matt Roper <matthew.d.roper at intel.com>
> Signed-off-by: Lucas De Marchi <lucas.demarchi at intel.com>
> ---
>  drivers/gpu/drm/xe/regs/xe_guc_regs.h | 2 +-
>  drivers/gpu/drm/xe/xe_guc.c           | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)

Reviewed-by: Balasubramani Vivekanandan <balasubramani.vivekanandan at intel.com>

Regards,
Bala

> 
> diff --git a/drivers/gpu/drm/xe/regs/xe_guc_regs.h b/drivers/gpu/drm/xe/regs/xe_guc_regs.h
> index fcb747201bc1..ba375fc51a87 100644
> --- a/drivers/gpu/drm/xe/regs/xe_guc_regs.h
> +++ b/drivers/gpu/drm/xe/regs/xe_guc_regs.h
> @@ -45,7 +45,7 @@
>  #define   GUC_WOPCM_SIZE_LOCKED			REG_BIT(0)
>  
>  #define GUC_SHIM_CONTROL			XE_REG(0xc064)
> -#define   GUC_MOCS_INDEX_MASK			REG_GENMASK(25, 24)
> +#define   GUC_MOCS_INDEX_MASK			REG_GENMASK(27, 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 2493c5859948..e102637c0695 100644
> --- a/drivers/gpu/drm/xe/xe_guc.c
> +++ b/drivers/gpu/drm/xe/xe_guc.c
> @@ -326,7 +326,7 @@ static void guc_prepare_xfer(struct xe_guc *guc)
>  		shim_flags |= GUC_DISABLE_SRAM_INIT_TO_ZEROES |
>  				GUC_ENABLE_MIA_CACHING;
>  
> -	if (xe->info.platform == XE_PVC)
> +	if (GRAPHICS_VER(xe) >= 20 || xe->info.platform == XE_PVC)
>  		shim_flags |= REG_FIELD_PREP(GUC_MOCS_INDEX_MASK, gt->mocs.uc_index);
>  
>  	/* Must program this register before loading the ucode with DMA */
> -- 
> 2.40.1
> 


More information about the Intel-xe mailing list