From: Dmytro Laktyushkin <[email protected]>

When vstartup is larger than vblank end we need to set v_fp2
to allow for this early start

Signed-off-by: Dmytro Laktyushkin <[email protected]>
Reviewed-by: Tony Cheng <[email protected]>
Acked-by: Bhawanpreet Lakha <[email protected]>
---
 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_optc.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_optc.c 
b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_optc.c
index 54626682bab2..47f80e0e8be8 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_optc.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_optc.c
@@ -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) {
-- 
2.14.1

_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to