ge2d: add enhanced hsc adv num support [2/2]
authorJian Cao <jian.cao@amlogic.com>
Fri, 11 Jan 2019 06:30:40 +0000 (14:30 +0800)
committerJianxin Pan <jianxin.pan@amlogic.com>
Tue, 15 Jan 2019 11:18:27 +0000 (03:18 -0800)
PD#SWPL-4075

Problem:
add enhanced hsc adv num support

Solution:
add enhanced hsc adv num support

Verify:
verified on g12b-w400

Change-Id: I13b52a0b10e8f3830c57ff691ef3472a34cbe89c
Signed-off-by: Jian Cao <jian.cao@amlogic.com>
drivers/amlogic/media/common/ge2d/ge2d_hw.c
include/linux/amlogic/media/ge2d/ge2d.h

index 497fbf8..3a886ff 100644 (file)
@@ -894,9 +894,7 @@ void ge2d_set_cmd(struct ge2d_cmd_s *cfg)
                cfg->hsc_div_length = (124 << 24) / cfg->hsc_phase_step;
 
                multo = cfg->hsc_phase_step * cfg->hsc_div_length;
-#ifndef CONFIG_GE2D_ADV_NUM
                cfg->hsc_adv_num   = multo >> 24;
-#endif
                cfg->hsc_adv_phase = multo & 0xffffff;
        }
 
@@ -974,6 +972,8 @@ void ge2d_set_cmd(struct ge2d_cmd_s *cfg)
                       );
        if (cfg->hsc_adv_num > 255)
                cfg->hsc_adv_num = cfg->hsc_adv_num >> 8;
+       else
+               cfg->hsc_adv_num = 0;
        ge2d_reg_write(GE2D_HSC_INI_CTRL,
                        (cfg->hsc_rpt_p0_num << 29) |
                        (cfg->hsc_adv_num << 24) |
index f0f6d31..1b90af6 100644 (file)
@@ -31,7 +31,7 @@
 #define MAX_BITBLT_WORK_CONFIG 4
 #define MAX_GE2D_CMD  32   /* 64 */
 
-/* #define CONFIG_GE2D_ADV_NUM */
+#define CONFIG_GE2D_ADV_NUM
 #define CONFIG_GE2D_SRC2
 #define GE2D_STATE_IDLE                 0
 #define GE2D_STATE_RUNNING              1