aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_dp_mst.c
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2015-09-02 08:33:42 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2015-09-02 08:33:42 -0400
commite93c28f39375558409329a02a767d5cadfcc4a31 (patch)
tree9f1b4b5ce765b887b6002cded59fc934e6c9c012 /drivers/gpu/drm/i915/intel_dp_mst.c
parent85a62bf9d8ef8d533635270ae985281c58e8c974 (diff)
parent6fa2d197936ba0b8936e813d0adecefac160062b (diff)
Merge tag 'drm-intel-next-fixes-2015-09-02' into drm-intel-next-queued
Backmerge -fixes since there's more DDI-E related cleanups on top of the pile of -fixes for skl that just landed for 4.3. Conflicts: drivers/gpu/drm/i915/intel_display.c drivers/gpu/drm/i914/intel_dp.c drivers/gpu/drm/i915/intel_lrc.c Conflicts are all fairly harmless adjacent line stuff. Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_dp_mst.c')
-rw-r--r--drivers/gpu/drm/i915/intel_dp_mst.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c
index dd291d123219..677d70e4d363 100644
--- a/drivers/gpu/drm/i915/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/intel_dp_mst.c
@@ -33,6 +33,7 @@
33static bool intel_dp_mst_compute_config(struct intel_encoder *encoder, 33static bool intel_dp_mst_compute_config(struct intel_encoder *encoder,
34 struct intel_crtc_state *pipe_config) 34 struct intel_crtc_state *pipe_config)
35{ 35{
36 struct drm_device *dev = encoder->base.dev;
36 struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base); 37 struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
37 struct intel_digital_port *intel_dig_port = intel_mst->primary; 38 struct intel_digital_port *intel_dig_port = intel_mst->primary;
38 struct intel_dp *intel_dp = &intel_dig_port->dp; 39 struct intel_dp *intel_dp = &intel_dig_port->dp;
@@ -88,6 +89,10 @@ static bool intel_dp_mst_compute_config(struct intel_encoder *encoder,
88 &pipe_config->dp_m_n); 89 &pipe_config->dp_m_n);
89 90
90 pipe_config->dp_m_n.tu = slots; 91 pipe_config->dp_m_n.tu = slots;
92
93 if (IS_HASWELL(dev) || IS_BROADWELL(dev))
94 hsw_dp_set_ddi_pll_sel(pipe_config);
95
91 return true; 96 return true;
92 97
93} 98}
@@ -403,7 +408,7 @@ static bool intel_dp_mst_get_hw_state(struct intel_connector *connector)
403 408
404static void intel_connector_add_to_fbdev(struct intel_connector *connector) 409static void intel_connector_add_to_fbdev(struct intel_connector *connector)
405{ 410{
406#ifdef CONFIG_DRM_I915_FBDEV 411#ifdef CONFIG_DRM_FBDEV_EMULATION
407 struct drm_i915_private *dev_priv = to_i915(connector->base.dev); 412 struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
408 drm_fb_helper_add_one_connector(&dev_priv->fbdev->helper, &connector->base); 413 drm_fb_helper_add_one_connector(&dev_priv->fbdev->helper, &connector->base);
409#endif 414#endif
@@ -411,7 +416,7 @@ static void intel_connector_add_to_fbdev(struct intel_connector *connector)
411 416
412static void intel_connector_remove_from_fbdev(struct intel_connector *connector) 417static void intel_connector_remove_from_fbdev(struct intel_connector *connector)
413{ 418{
414#ifdef CONFIG_DRM_I915_FBDEV 419#ifdef CONFIG_DRM_FBDEV_EMULATION
415 struct drm_i915_private *dev_priv = to_i915(connector->base.dev); 420 struct drm_i915_private *dev_priv = to_i915(connector->base.dev);
416 drm_fb_helper_remove_one_connector(&dev_priv->fbdev->helper, &connector->base); 421 drm_fb_helper_remove_one_connector(&dev_priv->fbdev->helper, &connector->base);
417#endif 422#endif