Skip to content

Commit a8a56da

Browse files
zehortigozamattrope
authored andcommitted
drm/i915/adl_p: Implement Wa_22011091694
Adding a new hook to ADL-P just to avoid another platform check in gen12lp_init_clock_gating() but also open to it. BSpec: 54369 Cc: Matt Roper <[email protected]> Cc: Anusha Srivatsa <[email protected]> Signed-off-by: José Roberto de Souza <[email protected]> Signed-off-by: Clinton Taylor <[email protected]> Signed-off-by: Matt Roper <[email protected]> Reviewed-by: Mika Kahola <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
1 parent b2c6eaf commit a8a56da

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

drivers/gpu/drm/i915/i915_reg.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4170,6 +4170,9 @@ enum {
41704170
#define GEN9_CLKGATE_DIS_4 _MMIO(0x4653C)
41714171
#define BXT_GMBUS_GATING_DIS (1 << 14)
41724172

4173+
#define GEN9_CLKGATE_DIS_5 _MMIO(0x46540)
4174+
#define DPCE_GATING_DIS REG_BIT(17)
4175+
41734176
#define _CLKGATE_DIS_PSL_A 0x46520
41744177
#define _CLKGATE_DIS_PSL_B 0x46524
41754178
#define _CLKGATE_DIS_PSL_C 0x46528

drivers/gpu/drm/i915/intel_pm.c

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7141,6 +7141,14 @@ static void gen12lp_init_clock_gating(struct drm_i915_private *dev_priv)
71417141
CLKREQ_POLICY_MEM_UP_OVRD, 0);
71427142
}
71437143

7144+
static void adlp_init_clock_gating(struct drm_i915_private *dev_priv)
7145+
{
7146+
gen12lp_init_clock_gating(dev_priv);
7147+
7148+
/* Wa_22011091694:adlp */
7149+
intel_de_rmw(dev_priv, GEN9_CLKGATE_DIS_5, 0, DPCE_GATING_DIS);
7150+
}
7151+
71447152
static void dg1_init_clock_gating(struct drm_i915_private *dev_priv)
71457153
{
71467154
gen12lp_init_clock_gating(dev_priv);
@@ -7618,7 +7626,9 @@ static void nop_init_clock_gating(struct drm_i915_private *dev_priv)
76187626
*/
76197627
void intel_init_clock_gating_hooks(struct drm_i915_private *dev_priv)
76207628
{
7621-
if (IS_DG1(dev_priv))
7629+
if (IS_ALDERLAKE_P(dev_priv))
7630+
dev_priv->display.init_clock_gating = adlp_init_clock_gating;
7631+
else if (IS_DG1(dev_priv))
76227632
dev_priv->display.init_clock_gating = dg1_init_clock_gating;
76237633
else if (IS_GEN(dev_priv, 12))
76247634
dev_priv->display.init_clock_gating = gen12lp_init_clock_gating;

0 commit comments

Comments
 (0)