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.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c
index 677d70e4d363..ff8ba55853be 100644
--- a/drivers/gpu/drm/i915/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/intel_dp_mst.c
@@ -164,6 +164,11 @@ static void intel_mst_pre_enable_dp(struct intel_encoder *encoder)
164 return; 164 return;
165 } 165 }
166 166
167 /* MST encoders are bound to a crtc, not to a connector,
168 * force the mapping here for get_hw_state.
169 */
170 found->encoder = encoder;
171
167 DRM_DEBUG_KMS("%d\n", intel_dp->active_mst_links); 172 DRM_DEBUG_KMS("%d\n", intel_dp->active_mst_links);
168 intel_mst->port = found->port; 173 intel_mst->port = found->port;
169 174
@@ -397,7 +402,7 @@ static const struct drm_encoder_funcs intel_dp_mst_enc_funcs = {
397 402
398static bool intel_dp_mst_get_hw_state(struct intel_connector *connector) 403static bool intel_dp_mst_get_hw_state(struct intel_connector *connector)
399{ 404{
400 if (connector->encoder) { 405 if (connector->encoder && connector->base.state->crtc) {
401 enum pipe pipe; 406 enum pipe pipe;
402 if (!connector->encoder->get_hw_state(connector->encoder, &pipe)) 407 if (!connector->encoder->get_hw_state(connector->encoder, &pipe))
403 return false; 408 return false;