]> www.infradead.org Git - users/hch/configfs.git/commitdiff
drm/amd/display: Optimize vstartup position for AS-SDP
authorRobin Chen <robin.chen@amd.com>
Thu, 18 Jul 2024 08:48:26 +0000 (16:48 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 13 Aug 2024 14:44:16 +0000 (10:44 -0400)
[Why]
In current design, the vstartup position is adjusted to
vblank start position when AS-SDP is enabled.
However when the vblank length is too big, it may over
vstartup boundary.

[How]
To adjust vstartup position to 1 line before vsync position.

Reviewed-by: Anthony Koo <anthony.koo@amd.com>
Signed-off-by: Robin Chen <robin.chen@amd.com>
Signed-off-by: Tom Chung <chiahsuan.chung@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/dml/dcn20/dcn20_fpu.c

index efe337ebf7c8ac161cbec2572f07f9ee475d4a2d..e9fea9c2162e800247206d5448ce58549b8a8246 100644 (file)
@@ -1132,7 +1132,8 @@ static void dcn20_adjust_freesync_v_startup(
                                        patched_crtc_timing.v_addressable -
                                        patched_crtc_timing.v_border_top;
 
-       newVstartup = asic_blank_end + (patched_crtc_timing.v_total - asic_blank_start);
+       /* The newVStartUp is 1 line before vsync point */
+       newVstartup = asic_blank_end + 1;
 
        *vstartup_start = ((newVstartup > *vstartup_start) ? newVstartup : *vstartup_start);
 }