aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_runtime_pm.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/i915/intel_runtime_pm.c')
-rw-r--r--drivers/gpu/drm/i915/intel_runtime_pm.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
index 356c662ad453..87b4af092d54 100644
--- a/drivers/gpu/drm/i915/intel_runtime_pm.c
+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
@@ -1039,7 +1039,18 @@ static bool vlv_power_well_enabled(struct drm_i915_private *dev_priv,
1039 1039
1040static void vlv_init_display_clock_gating(struct drm_i915_private *dev_priv) 1040static void vlv_init_display_clock_gating(struct drm_i915_private *dev_priv)
1041{ 1041{
1042 I915_WRITE(DSPCLK_GATE_D, VRHUNIT_CLOCK_GATE_DISABLE); 1042 u32 val;
1043
1044 /*
1045 * On driver load, a pipe may be active and driving a DSI display.
1046 * Preserve DPOUNIT_CLOCK_GATE_DISABLE to avoid the pipe getting stuck
1047 * (and never recovering) in this case. intel_dsi_post_disable() will
1048 * clear it when we turn off the display.
1049 */
1050 val = I915_READ(DSPCLK_GATE_D);
1051 val &= DPOUNIT_CLOCK_GATE_DISABLE;
1052 val |= VRHUNIT_CLOCK_GATE_DISABLE;
1053 I915_WRITE(DSPCLK_GATE_D, val);
1043 1054
1044 /* 1055 /*
1045 * Disable trickle feed and enable pnd deadline calculation 1056 * Disable trickle feed and enable pnd deadline calculation