aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2529-drm-amd-display-fix-odm-mpo-disable.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2529-drm-amd-display-fix-odm-mpo-disable.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2529-drm-amd-display-fix-odm-mpo-disable.patch48
1 files changed, 48 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2529-drm-amd-display-fix-odm-mpo-disable.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2529-drm-amd-display-fix-odm-mpo-disable.patch
new file mode 100644
index 00000000..bd4e3d4c
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/2529-drm-amd-display-fix-odm-mpo-disable.patch
@@ -0,0 +1,48 @@
+From ffce6f0fe7b218a55ad7486efa828d88e37e7716 Mon Sep 17 00:00:00 2001
+From: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
+Date: Tue, 23 Apr 2019 16:02:45 -0400
+Subject: [PATCH 2529/2940] drm/amd/display: fix odm mpo disable
+
+It looks like mpo isn't properly disabled during odm, this change is
+meant to fix that.
+
+Signed-off-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
+Reviewed-by: Nikola Cornij <Nikola.Cornij@amd.com>
+Acked-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
+index 46e7f76a6553..1daf4029b566 100644
+--- a/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
++++ b/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c
+@@ -2153,6 +2153,11 @@ bool dcn20_validate_bandwidth(struct dc *dc, struct dc_state *context,
+ } else
+ need_split = context->bw_ctx.dml.vba.NoOfDPP[vlevel][context->bw_ctx.dml.vba.maxMpcComb][pipe_idx] == 2;
+
++ /* We do not support mpo + odm at the moment */
++ if (hsplit_pipe && hsplit_pipe->plane_state != pipe->plane_state
++ && context->bw_ctx.dml.vba.ODMCombineEnabled[pipe_idx])
++ goto validate_fail;
++
+ if (need_split3d || need_split || force_split) {
+ if (!hsplit_pipe || hsplit_pipe->plane_state != pipe->plane_state) {
+ /* pipe not split previously needs split */
+@@ -2168,11 +2173,7 @@ bool dcn20_validate_bandwidth(struct dc *dc, struct dc_state *context,
+ goto validate_fail;
+ pipe_split_from[hsplit_pipe->pipe_idx] = pipe_idx;
+ }
+- } else if (hsplit_pipe && hsplit_pipe->plane_state != pipe->plane_state) {
+- /* We do not support mpo + odm at the moment */
+- if (context->bw_ctx.dml.vba.ODMCombineEnabled[pipe_idx])
+- goto validate_fail;
+- } else if (hsplit_pipe) {
++ } else if (hsplit_pipe && hsplit_pipe->plane_state == pipe->plane_state) {
+ /* merge should already have been done */
+ ASSERT(0);
+ }
+--
+2.17.1
+