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.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c
index 8cb4093f8bcc..457c408782f3 100644
--- a/drivers/gpu/drm/i915/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/intel_dp_mst.c
@@ -215,6 +215,20 @@ static void intel_mst_pre_pll_enable_dp(struct intel_encoder *encoder,
215 pipe_config, NULL); 215 pipe_config, NULL);
216} 216}
217 217
218static void intel_mst_post_pll_disable_dp(struct intel_encoder *encoder,
219 const struct intel_crtc_state *old_crtc_state,
220 const struct drm_connector_state *old_conn_state)
221{
222 struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
223 struct intel_digital_port *intel_dig_port = intel_mst->primary;
224 struct intel_dp *intel_dp = &intel_dig_port->dp;
225
226 if (intel_dp->active_mst_links == 0)
227 intel_dig_port->base.post_pll_disable(&intel_dig_port->base,
228 old_crtc_state,
229 old_conn_state);
230}
231
218static void intel_mst_pre_enable_dp(struct intel_encoder *encoder, 232static void intel_mst_pre_enable_dp(struct intel_encoder *encoder,
219 const struct intel_crtc_state *pipe_config, 233 const struct intel_crtc_state *pipe_config,
220 const struct drm_connector_state *conn_state) 234 const struct drm_connector_state *conn_state)
@@ -549,6 +563,7 @@ intel_dp_create_fake_mst_encoder(struct intel_digital_port *intel_dig_port, enum
549 intel_encoder->disable = intel_mst_disable_dp; 563 intel_encoder->disable = intel_mst_disable_dp;
550 intel_encoder->post_disable = intel_mst_post_disable_dp; 564 intel_encoder->post_disable = intel_mst_post_disable_dp;
551 intel_encoder->pre_pll_enable = intel_mst_pre_pll_enable_dp; 565 intel_encoder->pre_pll_enable = intel_mst_pre_pll_enable_dp;
566 intel_encoder->post_pll_disable = intel_mst_post_pll_disable_dp;
552 intel_encoder->pre_enable = intel_mst_pre_enable_dp; 567 intel_encoder->pre_enable = intel_mst_pre_enable_dp;
553 intel_encoder->enable = intel_mst_enable_dp; 568 intel_encoder->enable = intel_mst_enable_dp;
554 intel_encoder->get_hw_state = intel_dp_mst_enc_get_hw_state; 569 intel_encoder->get_hw_state = intel_dp_mst_enc_get_hw_state;