summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/display
diff options
context:
space:
mode:
authorWenjing Liu <Wenjing.Liu@amd.com>2017-08-03 13:57:05 -0400
committerAlex Deucher <alexander.deucher@amd.com>2017-09-26 18:16:21 -0400
commitf334073ae31eaee742811e6ca282622aad5844ad (patch)
tree3d347774b98e1c9440d52ae00373ec5052b82865 /drivers/gpu/drm/amd/display
parentd66cf5f5013a4268057bcb92d301d010268ea27f (diff)
drm/amd/display: Move verify link cap after read edid
DP link layer test 400.1.1 fails intermittently. The test device will pull hpd low immediately after verify link cap. Driver reads edid when hpd low that causes the test to fail. Move read edid before verify link cap, so driver will read edid before starting link training Signed-off-by: Wenjing Liu <Wenjing.Liu@amd.com> Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> Acked-by: Harry Wentland <Harry.Wentland@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display')
-rw-r--r--drivers/gpu/drm/amd/display/dc/core/dc_link.c16
-rw-r--r--drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c7
2 files changed, 16 insertions, 7 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link.c b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
index 1279eb1dfc2ed..72eb6af62f457 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
@@ -666,6 +666,22 @@ bool dc_link_detect(struct dc_link *link, bool boot)
break;
}
+ if (link->connector_signal == SIGNAL_TYPE_DISPLAY_PORT &&
+ sink_caps.transaction_type ==
+ DDC_TRANSACTION_TYPE_I2C_OVER_AUX) {
+ /*
+ * TODO debug why Dell 2413 doesn't like
+ * two link trainings
+ */
+ if (is_mst_supported(link)) {
+ link->verified_link_cap =
+ link->reported_link_cap;
+ } else {
+ dp_hbr_verify_link_cap(link,
+ &link->reported_link_cap);
+ }
+ }
+
/* HDMI-DVI Dongle */
if (sink->sink_signal == SIGNAL_TYPE_HDMI_TYPE_A &&
!sink->edid_caps.edid_hdmi)
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
index 3d296b1d118f8..9d5fe658d14c4 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c
@@ -2283,13 +2283,6 @@ void detect_dp_sink_caps(struct dc_link *link)
* DP, hw_init may need check signal or power up
* encoder here.
*/
-
- if (is_mst_supported(link)) {
- link->verified_link_cap = link->reported_link_cap;
- } else {
- dp_hbr_verify_link_cap(link,
- &link->reported_link_cap);
- }
/* TODO save sink caps in link->sink */
}