diff --git a/sys/dev/drm/amd/display/dc/dce120/dce120_timing_generator.c b/sys/dev/drm/amd/display/dc/dce120/dce120_timing_generator.c --- a/sys/dev/drm/amd/display/dc/dce120/dce120_timing_generator.c +++ b/sys/dev/drm/amd/display/dc/dce120/dce120_timing_generator.c @@ -105,7 +105,10 @@ enum signal_type signal) { uint32_t interlace_factor = timing->flags.INTERLACE ? 2 : 1; - uint32_t v_blank = + uint32_t v_blank; + if (timing->v_total <= timing->v_addressable + timing->v_border_top + timing->v_border_bottom) + return false; + v_blank = (timing->v_total - timing->v_addressable - timing->v_border_top - timing->v_border_bottom) * interlace_factor;