提交 f334073a 编写于 作者: W Wenjing Liu 提交者: Alex Deucher

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: NWenjing Liu <Wenjing.Liu@amd.com>
Reviewed-by: NTony Cheng <Tony.Cheng@amd.com>
Acked-by: NHarry Wentland <Harry.Wentland@amd.com>
Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
上级 d66cf5f5
...@@ -666,6 +666,22 @@ bool dc_link_detect(struct dc_link *link, bool boot) ...@@ -666,6 +666,22 @@ bool dc_link_detect(struct dc_link *link, bool boot)
break; 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 */ /* HDMI-DVI Dongle */
if (sink->sink_signal == SIGNAL_TYPE_HDMI_TYPE_A && if (sink->sink_signal == SIGNAL_TYPE_HDMI_TYPE_A &&
!sink->edid_caps.edid_hdmi) !sink->edid_caps.edid_hdmi)
......
...@@ -2283,13 +2283,6 @@ void detect_dp_sink_caps(struct dc_link *link) ...@@ -2283,13 +2283,6 @@ void detect_dp_sink_caps(struct dc_link *link)
* DP, hw_init may need check signal or power up * DP, hw_init may need check signal or power up
* encoder here. * 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 */ /* TODO save sink caps in link->sink */
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册