dv: fix the green screen when changing dv mode [1/1]
authorYi Zhou <yi.zhou@amlogic.com>
Tue, 30 Oct 2018 06:34:21 +0000 (14:34 +0800)
committerJianxin Pan <jianxin.pan@amlogic.com>
Thu, 1 Nov 2018 08:17:33 +0000 (01:17 -0700)
PD#SWPL-1029

Problem:
when changing dv mode from standard to ll mode.
wn tp vks should be enabled

Solution:
enable wn tp vks when setting ll mode

Verify:
t962e (txlx)

Change-Id: I3b399132cf1a3c7b1799f36f9bc3a0696883029f
Signed-off-by: Yi Zhou <yi.zhou@amlogic.com>
drivers/amlogic/media/enhancement/amdolby_vision/amdolby_vision.c

index 5cf7982..0ad833f 100644 (file)
@@ -1944,16 +1944,25 @@ static int dolby_core3_set(
                        }
                        if (new_dovi_setting.dovi_ll_enable &&
                                new_dovi_setting.diagnostic_enable == 0) {
-                               /*   bypass gainoff to vks */
+                               /*bypass gainoff to vks */
+                               /*enable wn tp vks*/
                                VSYNC_WR_MPEG_REG_BITS(
                                        VPP_DOLBY_CTRL, 0, 2, 1);
                                VSYNC_WR_MPEG_REG_BITS(
+                                       VPP_DOLBY_CTRL, 1, 1, 1);
+                               VSYNC_WR_MPEG_REG(
+                                       VPP_DAT_CONV_PARA1, 0x8000800);
+                               VSYNC_WR_MPEG_REG_BITS(
                                        VPP_MATRIX_CTRL,
                                        1, 0, 1); /* post matrix */
                        } else {
                                /* bypass wm tp vks*/
                                VSYNC_WR_MPEG_REG_BITS(
                                        VPP_DOLBY_CTRL, 1, 2, 1);
+                               VSYNC_WR_MPEG_REG_BITS(
+                                       VPP_DOLBY_CTRL, 0, 1, 1);
+                               VSYNC_WR_MPEG_REG(
+                                       VPP_DAT_CONV_PARA1, 0x20002000);
                                if (is_meson_txlx_tvmode())
                                        enable_rgb_to_yuv_matrix_for_dvll(
                                                0, NULL, 12);