aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3024-drm-amd-display-skip-retrain-in-dc_link_set_preferre.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3024-drm-amd-display-skip-retrain-in-dc_link_set_preferre.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3024-drm-amd-display-skip-retrain-in-dc_link_set_preferre.patch49
1 files changed, 49 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3024-drm-amd-display-skip-retrain-in-dc_link_set_preferre.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3024-drm-amd-display-skip-retrain-in-dc_link_set_preferre.patch
new file mode 100644
index 00000000..36b24de9
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3024-drm-amd-display-skip-retrain-in-dc_link_set_preferre.patch
@@ -0,0 +1,49 @@
+From bab52b2a79a219932a497777198c86614a467849 Mon Sep 17 00:00:00 2001
+From: Samson Tam <Samson.Tam@amd.com>
+Date: Tue, 4 Jun 2019 15:52:59 -0400
+Subject: [PATCH 3024/4256] drm/amd/display: skip retrain in
+ dc_link_set_preferred_link_settings() if using passive dongle
+
+[Why]
+Fixes issue when we have a display connected using a passive
+dongle and then emulate over it using a DP connection at 1 x 1.62 Ghz.
+System hangs because register bus returns back 0xFFFFFFFF for all
+register reads after setting register DIG_BE_CNTL in
+dcn10_link_encoder_connect_dig_be_to_fe(). Hang occurs later
+when trying to do a register read.
+
+[How]
+At the start of the emulation, dc_link_set_preferred_link_settings()
+and dp_retrain_link_dp_test() is called, even though it is connected
+using a passive dongle.
+
+Add an extra condition in dp_retrain_link_dp_test() to check for
+link->dongle_max_pix_clk > 0. This is the only way we know if the
+connection is using passive dongle so we don't retrain DP.
+
+Signed-off-by: Samson Tam <Samson.Tam@amd.com>
+Reviewed-by: Jun Lei <Jun.Lei@amd.com>
+Acked-by: Leo Li <sunpeng.li@amd.com>
+---
+ drivers/gpu/drm/amd/display/dc/core/dc_link.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+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 accd0f72e03f..551fff68a5dc 100644
+--- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c
++++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
+@@ -2998,8 +2998,10 @@ void dc_link_set_preferred_link_settings(struct dc *dc,
+
+ /* Retrain with preferred link settings only relevant for
+ * DP signal type
++ * Check for non-DP signal or if passive dongle present
+ */
+- if (!dc_is_dp_signal(link->connector_signal))
++ if (!dc_is_dp_signal(link->connector_signal) ||
++ link->dongle_max_pix_clk > 0)
+ return;
+
+ for (i = 0; i < MAX_PIPES; i++) {
+--
+2.17.1
+