aboutsummaryrefslogtreecommitdiffstats
path: root/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0738-drm-amd-display-Move-verify-link-cap-after-read-edid.patch
diff options
context:
space:
mode:
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.patch71
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
+