diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_dp_mst.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_dp_mst.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c index c3de0918ee13..9e6956c08688 100644 --- a/drivers/gpu/drm/i915/intel_dp_mst.c +++ b/drivers/gpu/drm/i915/intel_dp_mst.c | |||
@@ -180,9 +180,11 @@ static void intel_mst_post_disable_dp(struct intel_encoder *encoder, | |||
180 | intel_dp->active_mst_links--; | 180 | intel_dp->active_mst_links--; |
181 | 181 | ||
182 | intel_mst->connector = NULL; | 182 | intel_mst->connector = NULL; |
183 | if (intel_dp->active_mst_links == 0) | 183 | if (intel_dp->active_mst_links == 0) { |
184 | intel_dp_sink_dpms(intel_dp, DRM_MODE_DPMS_OFF); | ||
184 | intel_dig_port->base.post_disable(&intel_dig_port->base, | 185 | intel_dig_port->base.post_disable(&intel_dig_port->base, |
185 | old_crtc_state, NULL); | 186 | old_crtc_state, NULL); |
187 | } | ||
186 | 188 | ||
187 | DRM_DEBUG_KMS("active links %d\n", intel_dp->active_mst_links); | 189 | DRM_DEBUG_KMS("active links %d\n", intel_dp->active_mst_links); |
188 | } | 190 | } |
@@ -223,7 +225,11 @@ static void intel_mst_pre_enable_dp(struct intel_encoder *encoder, | |||
223 | 225 | ||
224 | DRM_DEBUG_KMS("active links %d\n", intel_dp->active_mst_links); | 226 | DRM_DEBUG_KMS("active links %d\n", intel_dp->active_mst_links); |
225 | 227 | ||
228 | if (intel_dp->active_mst_links == 0) | ||
229 | intel_dp_sink_dpms(intel_dp, DRM_MODE_DPMS_ON); | ||
230 | |||
226 | drm_dp_send_power_updown_phy(&intel_dp->mst_mgr, connector->port, true); | 231 | drm_dp_send_power_updown_phy(&intel_dp->mst_mgr, connector->port, true); |
232 | |||
227 | if (intel_dp->active_mst_links == 0) | 233 | if (intel_dp->active_mst_links == 0) |
228 | intel_dig_port->base.pre_enable(&intel_dig_port->base, | 234 | intel_dig_port->base.pre_enable(&intel_dig_port->base, |
229 | pipe_config, NULL); | 235 | pipe_config, NULL); |