diff options
Diffstat (limited to 'meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0738-drm-amd-display-Move-verify-link-cap-after-read-edid.patch')
-rw-r--r-- | meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0738-drm-amd-display-Move-verify-link-cap-after-read-edid.patch | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0738-drm-amd-display-Move-verify-link-cap-after-read-edid.patch b/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0738-drm-amd-display-Move-verify-link-cap-after-read-edid.patch new file mode 100644 index 00000000..a2ec189a --- /dev/null +++ b/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0738-drm-amd-display-Move-verify-link-cap-after-read-edid.patch @@ -0,0 +1,71 @@ +From bbf8f7092065239b929a8d814c7c17ee8c0b3645 Mon Sep 17 00:00:00 2001 +From: Wenjing Liu <Wenjing.Liu@amd.com> +Date: Thu, 3 Aug 2017 13:57:05 -0400 +Subject: [PATCH 0738/4131] 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> +--- + drivers/gpu/drm/amd/display/dc/core/dc_link.c | 16 ++++++++++++++++ + drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c | 7 ------- + 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 1279eb1..72eb6af 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 3d296b1..9d5fe65 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 */ + } + +-- +2.7.4 + |