Commit f334073a authored by Wenjing Liu's avatar Wenjing Liu Committed by Alex Deucher
Browse files

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: default avatarWenjing Liu <Wenjing.Liu@amd.com>
Reviewed-by: default avatarTony Cheng <Tony.Cheng@amd.com>
Acked-by: default avatarHarry Wentland <Harry.Wentland@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent d66cf5f5
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -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)
+0 −7
Original line number Diff line number Diff line
@@ -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 */
}