[Intel-gfx] [PATCH v2 12/12] drm/i915/icl: Drop workarounds that only apply to pre-production steppings
Srivatsa, Anusha
anusha.srivatsa at intel.com
Tue Jul 13 17:13:03 UTC 2021
> -----Original Message-----
> From: Roper, Matthew D <matthew.d.roper at intel.com>
> Sent: Friday, July 9, 2021 8:37 PM
> To: intel-gfx at lists.freedesktop.org
> Cc: Srivatsa, Anusha <anusha.srivatsa at intel.com>; Roper, Matthew D
> <matthew.d.roper at intel.com>
> Subject: [PATCH v2 12/12] drm/i915/icl: Drop workarounds that only apply to
> pre-production steppings
>
> We're past the point at which we usually drop workarounds that were never
> needed on production hardware. The driver will already print an error and
> apply taint if loaded on pre-production hardware.
>
> Signed-off-by: Matt Roper <matthew.d.roper at intel.com>
Definitely cleans up the code.
Reviewed-by: Anusha Srivatsa <anusha.srivatsa at intel.com>
> ---
> drivers/gpu/drm/i915/gt/intel_workarounds.c | 39 ---------------------
> drivers/gpu/drm/i915/i915_drv.h | 3 --
> 2 files changed, 42 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c
> b/drivers/gpu/drm/i915/gt/intel_workarounds.c
> index 9b257a394305..5ace14cdfa85 100644
> --- a/drivers/gpu/drm/i915/gt/intel_workarounds.c
> +++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c
> @@ -517,21 +517,12 @@ static void cfl_ctx_workarounds_init(struct
> intel_engine_cs *engine, static void icl_ctx_workarounds_init(struct
> intel_engine_cs *engine,
> struct i915_wa_list *wal)
> {
> - struct drm_i915_private *i915 = engine->i915;
> -
> /* WaDisableBankHangMode:icl */
> wa_write(wal,
> GEN8_L3CNTLREG,
> intel_uncore_read(engine->uncore, GEN8_L3CNTLREG) |
> GEN8_ERRDETBCTRL);
>
> - /* Wa_1604370585:icl (pre-prod)
> - * Formerly known as WaPushConstantDereferenceHoldDisable
> - */
> - if (IS_ICL_GT_STEP(i915, STEP_A0, STEP_B0))
> - wa_masked_en(wal, GEN7_ROW_CHICKEN2,
> - PUSH_CONSTANT_DEREF_DISABLE);
> -
> /* WaForceEnableNonCoherent:icl
> * This is not the same workaround as in early Gen9 platforms, where
> * lacking this could cause system hangs, but coherency performance
> @@ -541,18 +532,6 @@ static void icl_ctx_workarounds_init(struct
> intel_engine_cs *engine,
> */
> wa_masked_en(wal, ICL_HDC_MODE,
> HDC_FORCE_NON_COHERENT);
>
> - /* Wa_2006611047:icl (pre-prod)
> - * Formerly known as WaDisableImprovedTdlClkGating
> - */
> - if (IS_ICL_GT_STEP(i915, STEP_A0, STEP_A0))
> - wa_masked_en(wal, GEN7_ROW_CHICKEN2,
> - GEN11_TDL_CLOCK_GATING_FIX_DISABLE);
> -
> - /* Wa_2006665173:icl (pre-prod) */
> - if (IS_ICL_GT_STEP(i915, STEP_A0, STEP_A0))
> - wa_masked_en(wal, GEN11_COMMON_SLICE_CHICKEN3,
> - GEN11_BLEND_EMB_FIX_DISABLE_IN_RCC);
> -
> /* WaEnableFloatBlendOptimization:icl */
> wa_write_clr_set(wal,
> GEN10_CACHE_MODE_SS,
> @@ -982,18 +961,6 @@ icl_gt_workarounds_init(struct drm_i915_private
> *i915, struct i915_wa_list *wal)
> GEN8_GAMW_ECO_DEV_RW_IA,
> GAMW_ECO_DEV_CTX_RELOAD_DISABLE);
>
> - /* Wa_1405779004:icl (pre-prod) */
> - if (IS_ICL_GT_STEP(i915, STEP_A0, STEP_A0))
> - wa_write_or(wal,
> - SLICE_UNIT_LEVEL_CLKGATE,
> - MSCUNIT_CLKGATE_DIS);
> -
> - /* Wa_1406838659:icl (pre-prod) */
> - if (IS_ICL_GT_STEP(i915, STEP_A0, STEP_B0))
> - wa_write_or(wal,
> - INF_UNIT_LEVEL_CLKGATE,
> - CGPSF_CLKGATE_DIS);
> -
> /* Wa_1406463099:icl
> * Formerly known as WaGamTlbPendError
> */
> @@ -1669,12 +1636,6 @@ rcs_engine_wa_init(struct intel_engine_cs
> *engine, struct i915_wa_list *wal)
> PMFLUSH_GAPL3UNBLOCK |
> PMFLUSHDONE_LNEBLK);
>
> - /* Wa_1406609255:icl (pre-prod) */
> - if (IS_ICL_GT_STEP(i915, STEP_A0, STEP_B0))
> - wa_write_or(wal,
> - GEN7_SARCHKMD,
> - GEN7_DISABLE_DEMAND_PREFETCH);
> -
> /* Wa_1606682166:icl */
> wa_write_or(wal,
> GEN7_SARCHKMD,
> diff --git a/drivers/gpu/drm/i915/i915_drv.h
> b/drivers/gpu/drm/i915/i915_drv.h index 8682a5f557c5..da5f230e2d4b
> 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -1513,9 +1513,6 @@ IS_SUBPLATFORM(const struct drm_i915_private
> *i915, #define IS_KBL_DISPLAY_STEP(dev_priv, since, until) \
> (IS_KABYLAKE(dev_priv) && IS_DISPLAY_STEP(dev_priv, since,
> until))
>
> -#define IS_ICL_GT_STEP(p, since, until) \
> - (IS_ICELAKE(p) && IS_GT_STEP(p, since, until))
> -
> #define IS_JSL_EHL_GT_STEP(p, since, until) \
> (IS_JSL_EHL(p) && IS_GT_STEP(p, since, until)) #define
> IS_JSL_EHL_DISPLAY_STEP(p, since, until) \
> --
> 2.25.4
More information about the Intel-gfx
mailing list