aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_dp_mst.c
diff options
context:
space:
mode:
authorVille Syrjälä <[email protected]>2015-07-06 13:39:15 +0000
committerDaniel Vetter <[email protected]>2015-08-14 16:16:37 +0000
commit90a6b7b052b1aa17fbb98b049e9c8b7f729c35a7 (patch)
treed15f9594f940374eb1c7809f543255cc010b049a /drivers/gpu/drm/i915/intel_dp_mst.c
parentdrm/i915: Avoid confusion between DP and TRANS_DP_CTL in DP .get_config() (diff)
downloadkernel-90a6b7b052b1aa17fbb98b049e9c8b7f729c35a7.tar.gz
kernel-90a6b7b052b1aa17fbb98b049e9c8b7f729c35a7.zip
drm/i915: Move intel_dp->lane_count into pipe_config
Currently we clobber intel_dp->lane_count in compute config, which means after a rejected modeset we may no longer be able to retrain the current link. Move lane_count into pipe_config to avoid that. v2: Add missing ':' to the pipe config debug dump Signed-off-by: Ville Syrjälä <[email protected]> Reviewed-by: Sivakumar Thulasimani <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_dp_mst.c')
-rw-r--r--drivers/gpu/drm/i915/intel_dp_mst.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c
index f4fe1183bae6..fdb5e31fedaa 100644
--- a/drivers/gpu/drm/i915/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/intel_dp_mst.c
@@ -65,7 +65,7 @@ static bool intel_dp_mst_compute_config(struct intel_encoder *encoder,
intel_dp->rate_select = 0;
}
- intel_dp->lane_count = lane_count;
+ pipe_config->lane_count = lane_count;
pipe_config->pipe_bpp = 24;
pipe_config->port_clock = rate;
@@ -276,6 +276,10 @@ static void intel_dp_mst_enc_get_config(struct intel_encoder *encoder,
break;
}
pipe_config->base.adjusted_mode.flags |= flags;
+
+ pipe_config->lane_count =
+ ((temp & DDI_PORT_WIDTH_MASK) >> DDI_PORT_WIDTH_SHIFT) + 1;
+
intel_dp_get_m_n(crtc, pipe_config);
intel_ddi_clock_get(&intel_dig_port->base, pipe_config);