[Intel-gfx] [PATCH] drm/i915/dg1: Apply WA 1409120013 and 14011059788
Matt Roper
matthew.d.roper at intel.com
Wed Jan 13 18:33:07 UTC 2021
On Wed, Jan 13, 2021 at 05:37:59AM -0800, José Roberto de Souza wrote:
> DG1 is missing those two WA so instead of copy and paste it to the DG1
> function, here calling the function that implements it.
>
> While at it also renaming tgl_init_clock_gating to
> gen12lp_init_clock_gating as it is also used by DG1, RKL and ADL-S.
>
> Cc: Matt Roper <matthew.d.roper at intel.com>
> Signed-off-by: José Roberto de Souza <jose.souza at intel.com>
Reviewed-by: Matt Roper <matthew.d.roper at intel.com>
> ---
> drivers/gpu/drm/i915/intel_pm.c | 12 +++++++-----
> 1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
> index bbc73df7f753..992fce8b8d13 100644
> --- a/drivers/gpu/drm/i915/intel_pm.c
> +++ b/drivers/gpu/drm/i915/intel_pm.c
> @@ -7103,24 +7103,26 @@ static void icl_init_clock_gating(struct drm_i915_private *dev_priv)
> 0, CNL_DELAY_PMRSP);
> }
>
> -static void tgl_init_clock_gating(struct drm_i915_private *dev_priv)
> +static void gen12lp_init_clock_gating(struct drm_i915_private *dev_priv)
> {
> - /* Wa_1409120013:tgl */
> + /* Wa_1409120013:tgl,rkl,adl_s,dg1 */
> intel_uncore_write(&dev_priv->uncore, ILK_DPFC_CHICKEN,
> - ILK_DPFC_CHICKEN_COMP_DUMMY_PIXEL);
> + ILK_DPFC_CHICKEN_COMP_DUMMY_PIXEL);
>
> /* Wa_1409825376:tgl (pre-prod)*/
> if (IS_TGL_DISP_REVID(dev_priv, TGL_REVID_A0, TGL_REVID_B1))
> intel_uncore_write(&dev_priv->uncore, GEN9_CLKGATE_DIS_3, intel_uncore_read(&dev_priv->uncore, GEN9_CLKGATE_DIS_3) |
> TGL_VRH_GATING_DIS);
>
> - /* Wa_14011059788:tgl */
> + /* Wa_14011059788:tgl,rkl,adl_s,dg1 */
> intel_uncore_rmw(&dev_priv->uncore, GEN10_DFR_RATIO_EN_AND_CHICKEN,
> 0, DFR_DISABLE);
> }
>
> static void dg1_init_clock_gating(struct drm_i915_private *dev_priv)
> {
> + gen12lp_init_clock_gating(dev_priv);
> +
> /* Wa_1409836686:dg1[a0] */
> if (IS_DG1_REVID(dev_priv, DG1_REVID_A0, DG1_REVID_A0))
> intel_uncore_write(&dev_priv->uncore, GEN9_CLKGATE_DIS_3, intel_uncore_read(&dev_priv->uncore, GEN9_CLKGATE_DIS_3) |
> @@ -7583,7 +7585,7 @@ void intel_init_clock_gating_hooks(struct drm_i915_private *dev_priv)
> if (IS_DG1(dev_priv))
> dev_priv->display.init_clock_gating = dg1_init_clock_gating;
> else if (IS_GEN(dev_priv, 12))
> - dev_priv->display.init_clock_gating = tgl_init_clock_gating;
> + dev_priv->display.init_clock_gating = gen12lp_init_clock_gating;
> else if (IS_GEN(dev_priv, 11))
> dev_priv->display.init_clock_gating = icl_init_clock_gating;
> else if (IS_CANNONLAKE(dev_priv))
> --
> 2.30.0
>
--
Matt Roper
Graphics Software Engineer
VTT-OSGC Platform Enablement
Intel Corporation
(916) 356-2795
More information about the Intel-gfx
mailing list