aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_dp_mst.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/i915/intel_dp_mst.c')
-rw-r--r--drivers/gpu/drm/i915/intel_dp_mst.c8
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);