[PATCH] drm/xe/ptl: Apply Wa_14022866841
Matt Roper
matthew.d.roper at intel.com
Wed Oct 16 00:00:30 UTC 2024
On Tue, Oct 15, 2024 at 04:44:28PM -0700, Vinay Belgaumkar wrote:
> As part of this WA, GuC will hold a forcewake for certain
> MMIO accesses outside the GT/media domains.
>
> Cc: Matt Roper <matthew.d.roper at intel.com>
> Signed-off-by: Vinay Belgaumkar <vinay.belgaumkar at intel.com>
Since we're not using doorbell submissions, activating the GuC
workaround should be all we need to do. The KLV matches what's given in
the GuC spec, so
Reviewed-by: Matt Roper <matthew.d.roper at intel.com>
> ---
> drivers/gpu/drm/xe/abi/guc_klvs_abi.h | 1 +
> drivers/gpu/drm/xe/xe_guc_ads.c | 5 +++++
> drivers/gpu/drm/xe/xe_wa_oob.rules | 2 ++
> 3 files changed, 8 insertions(+)
>
> diff --git a/drivers/gpu/drm/xe/abi/guc_klvs_abi.h b/drivers/gpu/drm/xe/abi/guc_klvs_abi.h
> index 6b30743a2f6c..37606cf8cc5e 100644
> --- a/drivers/gpu/drm/xe/abi/guc_klvs_abi.h
> +++ b/drivers/gpu/drm/xe/abi/guc_klvs_abi.h
> @@ -352,6 +352,7 @@ enum xe_guc_klv_ids {
> GUC_WORKAROUND_KLV_ID_DISABLE_MTP_DURING_ASYNC_COMPUTE = 0x9007,
> GUC_WA_KLV_NP_RD_WRITE_TO_CLEAR_RCSM_AT_CGP_LATE_RESTORE = 0x9008,
> GUC_WORKAROUND_KLV_ID_BACK_TO_BACK_RCS_ENGINE_RESET = 0x9009,
> + GUC_WA_KLV_WAKE_POWER_DOMAINS_FOR_OUTBOUND_MMIO = 0x900a,
> };
>
> #endif
> diff --git a/drivers/gpu/drm/xe/xe_guc_ads.c b/drivers/gpu/drm/xe/xe_guc_ads.c
> index 25292997c7f3..4e746ae98888 100644
> --- a/drivers/gpu/drm/xe/xe_guc_ads.c
> +++ b/drivers/gpu/drm/xe/xe_guc_ads.c
> @@ -359,6 +359,11 @@ static void guc_waklv_init(struct xe_guc_ads *ads)
> GUC_WORKAROUND_KLV_ID_DISABLE_MTP_DURING_ASYNC_COMPUTE,
> &offset, &remain);
>
> + if (XE_WA(gt, 14022866841))
> + guc_waklv_enable_simple(ads,
> + GUC_WA_KLV_WAKE_POWER_DOMAINS_FOR_OUTBOUND_MMIO,
> + &offset, &remain);
> +
> /*
> * On RC6 exit, GuC will write register 0xB04 with the default value provided. As of now,
> * the default value for this register is determined to be 0xC40. This could change in the
> diff --git a/drivers/gpu/drm/xe/xe_wa_oob.rules b/drivers/gpu/drm/xe/xe_wa_oob.rules
> index 264d6e116499..bcd04464b85e 100644
> --- a/drivers/gpu/drm/xe/xe_wa_oob.rules
> +++ b/drivers/gpu/drm/xe/xe_wa_oob.rules
> @@ -39,3 +39,5 @@
> 14019789679 GRAPHICS_VERSION(1255)
> GRAPHICS_VERSION_RANGE(1270, 2004)
> no_media_l3 MEDIA_VERSION(3000)
> +14022866841 GRAPHICS_VERSION(3000), GRAPHICS_STEP(A0, B0)
> + MEDIA_VERSION(3000), MEDIA_STEP(A0, B0)
> --
> 2.38.1
>
--
Matt Roper
Graphics Software Engineer
Linux GPU Platform Enablement
Intel Corporation
More information about the Intel-xe
mailing list