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

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
Loading
Loading
Loading
Loading
+5 −6
Original line number Diff line number Diff line
@@ -274,10 +274,12 @@ void optc1_program_timing(
	 * program the reg for interrupt postition.
	 */
	vertical_line_start = asic_blank_end - optc->dlg_otg_param.vstartup_start + 1;
	if (vertical_line_start < 0) {
		ASSERT(0);
	v_fp2 = 0;
	if (vertical_line_start < 0)
		v_fp2 = -vertical_line_start;
	if (vertical_line_start < 0)
		vertical_line_start = 0;
	}

	REG_SET(OTG_VERTICAL_INTERRUPT2_POSITION, 0,
			OTG_VERTICAL_INTERRUPT2_LINE_START, vertical_line_start);

@@ -296,9 +298,6 @@ void optc1_program_timing(
		if (patched_crtc_timing.flags.INTERLACE == 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 */
	if (patched_crtc_timing.flags.INTERLACE == 1) {