TRANS_CHICKEN1_DP0UNIT_GC_DISABLE);
}
+static void intel_pch_cnp_init_clock_gating(struct intel_display *display)
+{
+ /* Display WA #1181 WaSouthDisplayDisablePWMCGEGating: cnp */
+ intel_de_rmw(display, SOUTH_DSPCLK_GATE_D, 0,
+ CNP_PWM_CGE_GATING_DISABLE);
+}
+
void intel_pch_init_clock_gating(struct intel_display *display)
{
switch (INTEL_PCH_TYPE(display)) {
case PCH_LPT_LP:
intel_pch_lpt_init_clock_gating(display);
break;
+ case PCH_CNP:
+ intel_pch_cnp_init_clock_gating(display);
+ break;
default:
break;
}
SGSI_SIDECLK_DIS);
}
-static void cnp_init_clock_gating(struct drm_i915_private *i915)
-{
- struct intel_display *display = i915->display;
-
- if (!HAS_PCH_CNP(display))
- return;
-
- /* Display WA #1181 WaSouthDisplayDisablePWMCGEGating: cnp */
- intel_uncore_rmw(&i915->uncore, SOUTH_DSPCLK_GATE_D, 0, CNP_PWM_CGE_GATING_DISABLE);
-}
-
static void cfl_init_clock_gating(struct drm_i915_private *i915)
{
- cnp_init_clock_gating(i915);
+ intel_pch_init_clock_gating(i915->display);
gen9_init_clock_gating(i915);
/* WAC6entrylatency:cfl */