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.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
index 6b78295f53db..1c603bbe5784 100644
--- a/drivers/gpu/drm/i915/intel_runtime_pm.c
+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
@@ -1078,6 +1078,7 @@ static void vlv_init_display_clock_gating(struct drm_i915_private *dev_priv)
1078 1078
1079static void vlv_display_power_well_init(struct drm_i915_private *dev_priv) 1079static void vlv_display_power_well_init(struct drm_i915_private *dev_priv)
1080{ 1080{
1081 struct intel_encoder *encoder;
1081 enum pipe pipe; 1082 enum pipe pipe;
1082 1083
1083 /* 1084 /*
@@ -1113,6 +1114,12 @@ static void vlv_display_power_well_init(struct drm_i915_private *dev_priv)
1113 1114
1114 intel_hpd_init(dev_priv); 1115 intel_hpd_init(dev_priv);
1115 1116
1117 /* Re-enable the ADPA, if we have one */
1118 for_each_intel_encoder(&dev_priv->drm, encoder) {
1119 if (encoder->type == INTEL_OUTPUT_ANALOG)
1120 intel_crt_reset(&encoder->base);
1121 }
1122
1116 i915_redisable_vga_power_on(&dev_priv->drm); 1123 i915_redisable_vga_power_on(&dev_priv->drm);
1117} 1124}
1118 1125
@@ -1126,6 +1133,8 @@ static void vlv_display_power_well_deinit(struct drm_i915_private *dev_priv)
1126 synchronize_irq(dev_priv->drm.irq); 1133 synchronize_irq(dev_priv->drm.irq);
1127 1134
1128 intel_power_sequencer_reset(dev_priv); 1135 intel_power_sequencer_reset(dev_priv);
1136
1137 intel_hpd_poll_init(dev_priv);
1129} 1138}
1130 1139
1131static void vlv_display_power_well_enable(struct drm_i915_private *dev_priv, 1140static void vlv_display_power_well_enable(struct drm_i915_private *dev_priv,