aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3834-drm-amd-display-Handle-virtual-signal-type-in-disabl.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3834-drm-amd-display-Handle-virtual-signal-type-in-disabl.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3834-drm-amd-display-Handle-virtual-signal-type-in-disabl.patch44
1 files changed, 44 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3834-drm-amd-display-Handle-virtual-signal-type-in-disabl.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3834-drm-amd-display-Handle-virtual-signal-type-in-disabl.patch
new file mode 100644
index 00000000..1b007862
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3834-drm-amd-display-Handle-virtual-signal-type-in-disabl.patch
@@ -0,0 +1,44 @@
+From 0c35e4608756e725b4487a1e203f914024afb97a Mon Sep 17 00:00:00 2001
+From: Martin Tsai <martin.tsai@amd.com>
+Date: Thu, 22 Aug 2019 10:02:13 +0800
+Subject: [PATCH 3834/4256] drm/amd/display: Handle virtual signal type in
+ disable_link()
+
+[Why]
+The new implementation changed the behavior to allow process setMode
+to DAL when DAL returns empty mode query for unplugged display.
+This will trigger additional disable_link().
+When unplug HDMI from MST dock, driver will update stream->signal to
+"Virtual". disable_link() will call disable_output() if the signal type
+is not DP and induce other displays on MST dock show black screen.
+
+[How]
+Don't need to process disable_output() if the signal type is virtual.
+
+Signed-off-by: Martin Tsai <martin.tsai@amd.com>
+Reviewed-by: Charlene Liu <Charlene.Liu@amd.com>
+Acked-by: Leo Li <sunpeng.li@amd.com>
+---
+ drivers/gpu/drm/amd/display/dc/core/dc_link.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 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 fcc25eea0d8f..a20310feb352 100644
+--- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c
++++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
+@@ -2166,8 +2166,10 @@ static void disable_link(struct dc_link *link, enum signal_type signal)
+ dp_set_fec_ready(link, false);
+ }
+ #endif
+- } else
+- link->link_enc->funcs->disable_output(link->link_enc, signal);
++ } else {
++ if (signal != SIGNAL_TYPE_VIRTUAL)
++ link->link_enc->funcs->disable_output(link->link_enc, signal);
++ }
+
+ if (signal == SIGNAL_TYPE_DISPLAY_PORT_MST) {
+ /* MST disable link only when no stream use the link */
+--
+2.17.1
+