diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_runtime_pm.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_runtime_pm.c | 9 |
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 | ||
1079 | static void vlv_display_power_well_init(struct drm_i915_private *dev_priv) | 1079 | static 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 | ||
1131 | static void vlv_display_power_well_enable(struct drm_i915_private *dev_priv, | 1140 | static void vlv_display_power_well_enable(struct drm_i915_private *dev_priv, |