aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3840-drm-amd-display-Set-number-of-pipes-to-1-if-the-seco.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3840-drm-amd-display-Set-number-of-pipes-to-1-if-the-seco.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3840-drm-amd-display-Set-number-of-pipes-to-1-if-the-seco.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3840-drm-amd-display-Set-number-of-pipes-to-1-if-the-seco.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3840-drm-amd-display-Set-number-of-pipes-to-1-if-the-seco.patch
new file mode 100644
index 00000000..d6a235c8
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/3840-drm-amd-display-Set-number-of-pipes-to-1-if-the-seco.patch
@@ -0,0 +1,41 @@
+From 082ff1684f993a8d2ee63ed18dbd9412887c2952 Mon Sep 17 00:00:00 2001
+From: Nikola Cornij <nikola.cornij@amd.com>
+Date: Wed, 28 Aug 2019 18:30:43 -0400
+Subject: [PATCH 3840/4256] drm/amd/display: Set number of pipes to 1 if the
+ second pipe was disabled
+
+[why]
+Some ODM-related register settings are inconsistently updated by VBIOS, causing
+the state in DC to be invalid, which would then end up crashing in certain
+use-cases (such as disable/enable device).
+
+[how]
+Check the enabled status of the second pipe when determining the number of
+OPTC sources. If the second pipe is disabled, set the number of sources to 1
+regardless of other settings (that may not be updated correctly).
+
+Signed-off-by: Nikola Cornij <nikola.cornij@amd.com>
+Reviewed-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
+Acked-by: Leo Li <sunpeng.li@amd.com>
+---
+ drivers/gpu/drm/amd/display/dc/dcn20/dcn20_optc.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_optc.c b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_optc.c
+index 2137e2be2140..dda90995ba93 100644
+--- a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_optc.c
++++ b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_optc.c
+@@ -287,6 +287,10 @@ void optc2_get_optc_source(struct timing_generator *optc,
+ *num_of_src_opp = 2;
+ else
+ *num_of_src_opp = 1;
++
++ /* Work around VBIOS not updating OPTC_NUM_OF_INPUT_SEGMENT */
++ if (*src_opp_id_1 == 0xf)
++ *num_of_src_opp = 1;
+ }
+
+ void optc2_set_dwb_source(struct timing_generator *optc,
+--
+2.17.1
+