]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/gpu/drm/radeon/radeon_dp_mst.c
Merge tag 'topic/drm-misc-2016-01-17' of git://anongit.freedesktop.org/drm-intel...
[karo-tx-linux.git] / drivers / gpu / drm / radeon / radeon_dp_mst.c
index 8a0222573f6ac388a09eacafc3a3869792b5ba3c..df7a1719c84136186fca3dc42a236a66079bcc6c 100644 (file)
@@ -525,11 +525,17 @@ static bool radeon_mst_mode_fixup(struct drm_encoder *encoder,
        drm_mode_set_crtcinfo(adjusted_mode, 0);
        {
          struct radeon_connector_atom_dig *dig_connector;
+         int ret;
 
          dig_connector = mst_enc->connector->con_priv;
-         dig_connector->dp_lane_count = drm_dp_max_lane_count(dig_connector->dpcd);
-         dig_connector->dp_clock = radeon_dp_get_max_link_rate(&mst_enc->connector->base,
-                                                               dig_connector->dpcd);
+         ret = radeon_dp_get_dp_link_config(&mst_enc->connector->base,
+                                            dig_connector->dpcd, adjusted_mode->clock,
+                                            &dig_connector->dp_lane_count,
+                                            &dig_connector->dp_clock);
+         if (ret) {
+                 dig_connector->dp_lane_count = 0;
+                 dig_connector->dp_clock = 0;
+         }
          DRM_DEBUG_KMS("dig clock %p %d %d\n", dig_connector,
                        dig_connector->dp_lane_count, dig_connector->dp_clock);
        }