Commit 72942b3d authored by Dmytro Laktyushkin's avatar Dmytro Laktyushkin Committed by Alex Deucher

drm/amd/display: handle max_vstartup larger than vblank_end

When vstartup is larger than vblank end we need to set v_fp2
to allow for this early start
Signed-off-by: default avatarDmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
Reviewed-by: default avatarTony Cheng <Tony.Cheng@amd.com>
Acked-by: default avatarBhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 09dea6bf
...@@ -274,10 +274,12 @@ void optc1_program_timing( ...@@ -274,10 +274,12 @@ void optc1_program_timing(
* program the reg for interrupt postition. * program the reg for interrupt postition.
*/ */
vertical_line_start = asic_blank_end - optc->dlg_otg_param.vstartup_start + 1; vertical_line_start = asic_blank_end - optc->dlg_otg_param.vstartup_start + 1;
if (vertical_line_start < 0) { v_fp2 = 0;
ASSERT(0); if (vertical_line_start < 0)
v_fp2 = -vertical_line_start;
if (vertical_line_start < 0)
vertical_line_start = 0; vertical_line_start = 0;
}
REG_SET(OTG_VERTICAL_INTERRUPT2_POSITION, 0, REG_SET(OTG_VERTICAL_INTERRUPT2_POSITION, 0,
OTG_VERTICAL_INTERRUPT2_LINE_START, vertical_line_start); OTG_VERTICAL_INTERRUPT2_LINE_START, vertical_line_start);
...@@ -296,9 +298,6 @@ void optc1_program_timing( ...@@ -296,9 +298,6 @@ void optc1_program_timing(
if (patched_crtc_timing.flags.INTERLACE == 1) if (patched_crtc_timing.flags.INTERLACE == 1)
field_num = 1; field_num = 1;
} }
v_fp2 = 0;
if (optc->dlg_otg_param.vstartup_start > asic_blank_end)
v_fp2 = optc->dlg_otg_param.vstartup_start > asic_blank_end;
/* Interlace */ /* Interlace */
if (patched_crtc_timing.flags.INTERLACE == 1) { if (patched_crtc_timing.flags.INTERLACE == 1) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment