]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/amd/display: Recalculate SubVP Phantom VBlank End in dml21
authorDillon Varone <dillon.varone@amd.com>
Tue, 8 Oct 2024 19:25:45 +0000 (15:25 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 22 Oct 2024 21:50:38 +0000 (17:50 -0400)
[WHY]
The phantom stream timing is copied from the main stream as most
parameters are identical, however some need to be recalculated.
Currently VBlank End is not recalculated and copied from the main
incorrectly.

[HOW]
Recalculate VBlank End for phantom stream timing.

Reviewed-by: Alvin Lee <alvin.lee2@amd.com>
Signed-off-by: Dillon Varone <dillon.varone@amd.com>
Signed-off-by: Wayne Lin <wayne.lin@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/dml2/dml21/src/dml2_core/dml2_core_dcn4.c
drivers/gpu/drm/amd/display/dc/dml2/dml21/src/dml2_core/dml2_core_utils.c

index 0aa4e4d343b04efbdf29458ea31e4028487a438b..3d41ffde91c1b56b2bf9ba51e064c4845fba3c34 100644 (file)
@@ -159,6 +159,7 @@ static void create_phantom_stream_from_main_stream(struct dml2_stream_parameters
        phantom->timing.v_total = meta->v_total;
        phantom->timing.v_active = meta->v_active;
        phantom->timing.v_front_porch = meta->v_front_porch;
+       phantom->timing.v_blank_end = phantom->timing.v_total - phantom->timing.v_front_porch - phantom->timing.v_active;
        phantom->timing.vblank_nom = phantom->timing.v_total - phantom->timing.v_active;
        phantom->timing.drr_config.enabled = false;
 }
index ab229e1598aef137679dcae62da32ec797644793..714b5c39b7e6cbfa0fffb7ade7d9d090d993c508 100644 (file)
@@ -425,6 +425,7 @@ static void create_phantom_stream_from_main_stream(struct dml2_stream_parameters
        phantom->timing.v_total = meta->v_total;
        phantom->timing.v_active = meta->v_active;
        phantom->timing.v_front_porch = meta->v_front_porch;
+       phantom->timing.v_blank_end = phantom->timing.v_total - phantom->timing.v_front_porch - phantom->timing.v_active;
        phantom->timing.vblank_nom = phantom->timing.v_total - phantom->timing.v_active;
        phantom->timing.drr_config.enabled = false;
 }