diff options
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.patch | 44 |
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 + |