libdrm-meson: modify vsync interval calculation [1/1]
PD#SWPL-197779
Problem:
vsync interval not correct for 59hz mode for LVDS connector.
Solution:
refine vsync interval calculation
Verify:
t5w
Change-Id: I7d356614e8989141409e1c0b1613f886936f974e
Signed-off-by: limin.tian <limin.tian@amlogic.com>
diff --git a/meson/meson_drm_display.c b/meson/meson_drm_display.c
index 4c449e1..76d2e07 100644
--- a/meson/meson_drm_display.c
+++ b/meson/meson_drm_display.c
@@ -694,7 +694,12 @@
if ( ( mode.vrefresh == 60 || mode.vrefresh == 30 || mode.vrefresh == 24
|| mode.vrefresh == 120 || mode.vrefresh == 240 )
&& _get_frac_rate_policy(drmFd) == 1 ) {
- *refreshInterval = (1000000LL+(mode.vrefresh/2)) * 1001 / mode.vrefresh / 1000;
+ *refreshInterval = (1000000LL+(mode.vrefresh/2)) * 1001 / mode.vrefresh / 1000;
+ }
+ //for LVDS platform, 59hz means 59.94hz
+ if (mode.vrefresh == 59) {
+ mode.vrefresh = 60;
+ *refreshInterval = (1000000LL+(mode.vrefresh/2)) * 1001 / mode.vrefresh / 1000;
}
} else {
DEBUG("%s %d get mode fail, refreshInterval default to 0",__FUNCTION__,__LINE__);