]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amd/display: fix init_adj offset for cositing in SPL
authorSamson Tam <Samson.Tam@amd.com>
Tue, 10 Dec 2024 20:32:17 +0000 (15:32 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 6 Jan 2025 19:44:27 +0000 (14:44 -0500)
[Why & How]
init_adj offset is applied when cosited not interstitial
Adjust cositing offset in SPL

Reviewed-by: Jun Lei <jun.lei@amd.com>
Signed-off-by: Samson Tam <Samson.Tam@amd.com>
Signed-off-by: Roman Li <roman.li@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/resource/dcn401/dcn401_resource.c
drivers/gpu/drm/amd/display/dc/spl/dc_spl.c

index d75f8da63e10f772b2500d962a3fa617f7df5bbd..c6ed0b92152388c1c23fac6bea95e1e74d508fe9 100644 (file)
@@ -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(
index 1306ce0321e2dd0bcb2a3b074985259cc1a78ea9..a7f36b5c53d144bbcf9795b3eab540487b2205b3 100644 (file)
@@ -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(