aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4253-drm-amd-display-do-not-synchronize-drr-displays.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4253-drm-amd-display-do-not-synchronize-drr-displays.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4253-drm-amd-display-do-not-synchronize-drr-displays.patch52
1 files changed, 52 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4253-drm-amd-display-do-not-synchronize-drr-displays.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4253-drm-amd-display-do-not-synchronize-drr-displays.patch
new file mode 100644
index 00000000..832f216f
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4253-drm-amd-display-do-not-synchronize-drr-displays.patch
@@ -0,0 +1,52 @@
+From 53020e71768ea377f2ab79c94ee7a45d6d6b7565 Mon Sep 17 00:00:00 2001
+From: Jun Lei <Jun.Lei@amd.com>
+Date: Thu, 3 Oct 2019 15:09:53 -0400
+Subject: [PATCH 4253/4736] drm/amd/display: do not synchronize "drr" displays
+
+[why]
+A display that supports DRR can never really be considered
+"synchronized" with any other display because we can dynamically
+enable DRR (i.e. without modeset). this will cause their
+relative CRTC positions to drift and lose sync. this will disrupt
+features such as MCLK switching that assume and depend on
+their permanent alignment (that can only change with modeset)
+
+[how]
+check for ignore_msa in stream when considered synchronizability
+this ignore_msa is basically actually implemented as "supports drr"
+
+Signed-off-by: Jun Lei <Jun.Lei@amd.com>
+Reviewed-by: Yongqiang Sun <yongqiang.sun@amd.com>
+Acked-by: Anthony Koo <Anthony.Koo@amd.com>
+Acked-by: Leo Li <sunpeng.li@amd.com>
+---
+ drivers/gpu/drm/amd/display/dc/core/dc_resource.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
+index 66a910ac3cbd..4154f1eedece 100644
+--- a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
++++ b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
+@@ -401,6 +401,9 @@ bool resource_are_streams_timing_synchronizable(
+ if (stream1->view_format != stream2->view_format)
+ return false;
+
++ if (stream1->ignore_msa_timing_param || stream2->ignore_msa_timing_param)
++ return false;
++
+ return true;
+ }
+ static bool is_dp_and_hdmi_sharable(
+@@ -1537,6 +1540,9 @@ bool dc_is_stream_unchanged(
+ if (!are_stream_backends_same(old_stream, stream))
+ return false;
+
++ if (old_stream->ignore_msa_timing_param != stream->ignore_msa_timing_param)
++ return false;
++
+ return true;
+ }
+
+--
+2.17.1
+