From: Samson Tam <samson....@amd.com>

[Why & How]
init_adj offset is applied when cosited not interstitial
Adjust cositing offset in SPL

Reviewed-by: Jun Lei <jun....@amd.com>
Signed-off-by: Samson Tam <samson....@amd.com>
Signed-off-by: Roman Li <roman...@amd.com>
Tested-by: Daniel Wheeler <daniel.whee...@amd.com>
---
 .../amd/display/dc/resource/dcn401/dcn401_resource.c  |  2 +-
 drivers/gpu/drm/amd/display/dc/spl/dc_spl.c           | 11 ++++++-----
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/resource/dcn401/dcn401_resource.c 
b/drivers/gpu/drm/amd/display/dc/resource/dcn401/dcn401_resource.c
index d75f8da63e10..c6ed0b921523 100644
--- a/drivers/gpu/drm/amd/display/dc/resource/dcn401/dcn401_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/resource/dcn401/dcn401_resource.c
@@ -737,7 +737,7 @@ static const struct dc_debug_options debug_defaults_drv = {
                        .enable_stall_recovery = true,
                }
        },
-       .force_cositing = CHROMA_COSITING_TOPLEFT + 1,
+       .force_cositing = CHROMA_COSITING_NONE + 1,
 };
 
 static struct dce_aux *dcn401_aux_engine_create(
diff --git a/drivers/gpu/drm/amd/display/dc/spl/dc_spl.c 
b/drivers/gpu/drm/amd/display/dc/spl/dc_spl.c
index 1306ce0321e2..a7f36b5c53d1 100644
--- a/drivers/gpu/drm/amd/display/dc/spl/dc_spl.c
+++ b/drivers/gpu/drm/amd/display/dc/spl/dc_spl.c
@@ -633,20 +633,21 @@ static void spl_calculate_inits_and_viewports(struct 
spl_in *spl_in,
 
                switch (spl_in->basic_in.cositing) {
 
-               case CHROMA_COSITING_LEFT:
-                       init_adj_h = spl_fixpt_zero;
+               case CHROMA_COSITING_TOPLEFT:
+                       init_adj_h = spl_fixpt_from_fraction(sign, 4);
                        init_adj_v = spl_fixpt_from_fraction(sign, 4);
                        break;
-               case CHROMA_COSITING_NONE:
+               case CHROMA_COSITING_LEFT:
                        init_adj_h = spl_fixpt_from_fraction(sign, 4);
-                       init_adj_v = spl_fixpt_from_fraction(sign, 4);
+                       init_adj_v = spl_fixpt_zero;
                        break;
-               case CHROMA_COSITING_TOPLEFT:
+               case CHROMA_COSITING_NONE:
                default:
                        init_adj_h = spl_fixpt_zero;
                        init_adj_v = spl_fixpt_zero;
                        break;
                }
+
        }
 
        spl_calculate_init_and_vp(
-- 
2.34.1

Reply via email to