aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/5038-drm-amd-display-Report-non-DP-display-as-disconnecte.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/5038-drm-amd-display-Report-non-DP-display-as-disconnecte.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.14.71/5038-drm-amd-display-Report-non-DP-display-as-disconnecte.patch54
1 files changed, 54 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/5038-drm-amd-display-Report-non-DP-display-as-disconnecte.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/5038-drm-amd-display-Report-non-DP-display-as-disconnecte.patch
new file mode 100644
index 00000000..e934f41e
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/5038-drm-amd-display-Report-non-DP-display-as-disconnecte.patch
@@ -0,0 +1,54 @@
+From 1770c8348bb00c968234d6c903aa82961efc02b4 Mon Sep 17 00:00:00 2001
+From: Harry Wentland <harry.wentland@amd.com>
+Date: Wed, 1 Aug 2018 10:48:23 -0400
+Subject: [PATCH 5038/5725] drm/amd/display: Report non-DP display as
+ disconnected without EDID
+
+[Why]
+Some boards seem to have a problem where HPD is high on HDMI even though
+no display is connected. We don't want to report these as connected. DP
+spec still requires us to report DP displays as connected when HPD is
+high but we can't read the EDID in order to go to fail-safe mode.
+
+[How]
+If connector_signal is not DP abort detection if we can't retrieve the
+EDID.
+
+v2: Add Bugzilla and stable
+
+Bugzilla: https://bugs.freedesktop.org/107390
+Bugzilla: https://bugs.freedesktop.org/106846
+Cc: stable@vger.kernel.org
+Signed-off-by: Harry Wentland <harry.wentland@amd.com>
+Acked-by: Alex Deucher <alexander.deucher@amd.com>
+Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/display/dc/core/dc_link.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+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 7962141..cbfb1ae 100644
+--- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c
++++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
+@@ -744,6 +744,17 @@ bool dc_link_detect(struct dc_link *link, enum dc_detect_reason reason)
+ break;
+ case EDID_NO_RESPONSE:
+ DC_LOG_ERROR("No EDID read.\n");
++
++ /*
++ * Abort detection for non-DP connectors if we have
++ * no EDID
++ *
++ * DP needs to report as connected if HDP is high
++ * even if we have no EDID in order to go to
++ * fail-safe mode
++ */
++ if (!dc_is_dp_signal(link->connector_signal))
++ return false;
+ default:
+ break;
+ }
+--
+2.7.4
+