From: yao liu Date: Tue, 15 Oct 2019 07:34:13 +0000 (+0800) Subject: dv: display abnormal at 1080p24hz [1/1] X-Git-Tag: hardkernel-4.9.236-104~535 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=65ebbe1f108768100990ee857dacd195dfaeac8a;p=platform%2Fkernel%2Flinux-amlogic.git dv: display abnormal at 1080p24hz [1/1] PD#SWPL-12495 Problem: vpotch is small at 1080p24hz Solution: increase vpotch to 0x60 Verify: SM1 Change-Id: I1505b0742b7e58c89396673e68b55384fa09551c Signed-off-by: yao liu --- diff --git a/drivers/amlogic/media/enhancement/amdolby_vision/amdolby_vision.c b/drivers/amlogic/media/enhancement/amdolby_vision/amdolby_vision.c index 03148da..55b5d15 100644 --- a/drivers/amlogic/media/enhancement/amdolby_vision/amdolby_vision.c +++ b/drivers/amlogic/media/enhancement/amdolby_vision/amdolby_vision.c @@ -2683,6 +2683,7 @@ int get_mute_type(void) static void adjust_vpotch(void) { const struct vinfo_s *vinfo = get_current_vinfo(); + int sync_duration_num = 60; if (is_meson_txlx_stbmode() || force_stb_mode) { @@ -2702,11 +2703,17 @@ static void adjust_vpotch(void) g_vpotch = 0x20; } else if (is_meson_g12()) { if (vinfo) { + if (vinfo->sync_duration_den) + sync_duration_num = vinfo->sync_duration_num / + vinfo->sync_duration_den; if (debug_dolby & 2) - pr_dolby_dbg("vinfo %d %d %d\n", - vinfo->width, - vinfo->height, - vinfo->field_height); + pr_dolby_dbg("vinfo %d %d %d %d %d %d\n", + vinfo->width, + vinfo->height, + vinfo->field_height, + vinfo->sync_duration_num, + vinfo->sync_duration_den, + sync_duration_num); if ((vinfo->width < 1280) && (vinfo->height < 720) && (vinfo->field_height < 720)) @@ -2714,6 +2721,10 @@ static void adjust_vpotch(void) else if ((vinfo->width == 1280) && (vinfo->height == 720)) g_vpotch = 0x38; + else if ((vinfo->width == 1920) && + (vinfo->height == 1080) && + (sync_duration_num < 30)) + g_vpotch = 0x60; else g_vpotch = 0x20; if (vinfo->width > 1920)