summaryrefslogtreecommitdiff
authorqiyao.zhou <qiyao.zhou@amlogic.com>2018-11-01 11:14:35 (GMT)
committer Bencheng Jing <bencheng.jing@amlogic.com>2018-11-13 06:46:11 (GMT)
commitb3381238429e5b93c6ddf58807f49b8fee6bdd9d (patch)
tree945c294bef72c9fc1d63213453a2292f565467fc
parent812222a3570125bb28a565cace8d2d3ac8db4b63 (diff)
downloadcommon-b3381238429e5b93c6ddf58807f49b8fee6bdd9d.zip
common-b3381238429e5b93c6ddf58807f49b8fee6bdd9d.tar.gz
common-b3381238429e5b93c6ddf58807f49b8fee6bdd9d.tar.bz2
amvecm: fix sr debanding issue
118506361 PD#OTT-302 Problem: debanding enable in pc mode case Solution: close debanding in pc mode case Verify: none Signed-off-by: qiyao.zhou <qiyao.zhou@amlogic.com> Change-Id: I49f039275e3e6d52c3fba10830c76de26aa17db2
Diffstat
-rw-r--r--drivers/amlogic/media/enhancement/amvecm/amvecm.c24
1 files changed, 23 insertions, 1 deletions
diff --git a/drivers/amlogic/media/enhancement/amvecm/amvecm.c b/drivers/amlogic/media/enhancement/amvecm/amvecm.c
index 6f5dc9e..d98b3ae 100644
--- a/drivers/amlogic/media/enhancement/amvecm/amvecm.c
+++ b/drivers/amlogic/media/enhancement/amvecm/amvecm.c
@@ -72,7 +72,7 @@
#define AMVECM_MODULE_NAME "amvecm"
#define AMVECM_DEVICE_NAME "amvecm"
#define AMVECM_CLASS_NAME "amvecm"
-#define AMVECM_VER "Ref.2018/07/03"
+#define AMVECM_VER "Ref.2018/11/07"
struct amvecm_dev_s {
@@ -3131,6 +3131,17 @@ void pc_mode_process(void)
VSYNC_WR_MPEG_REG_BITS(SRSHARP1_SR3_DERING_CTRL,
1, 28, 3);
}
+ if (cpu_after_eq(MESON_CPU_MAJOR_ID_TXLX)) {
+ VSYNC_WR_MPEG_REG_BITS(SRSHARP0_DB_FLT_CTRL, 0, 4, 1);
+ VSYNC_WR_MPEG_REG_BITS(SRSHARP0_DB_FLT_CTRL, 0, 5, 1);
+ VSYNC_WR_MPEG_REG_BITS(SRSHARP0_DB_FLT_CTRL, 0, 22, 1);
+ VSYNC_WR_MPEG_REG_BITS(SRSHARP0_DB_FLT_CTRL, 0, 23, 1);
+
+ VSYNC_WR_MPEG_REG_BITS(SRSHARP1_DB_FLT_CTRL, 0, 4, 1);
+ VSYNC_WR_MPEG_REG_BITS(SRSHARP1_DB_FLT_CTRL, 0, 5, 1);
+ VSYNC_WR_MPEG_REG_BITS(SRSHARP1_DB_FLT_CTRL, 0, 22, 1);
+ VSYNC_WR_MPEG_REG_BITS(SRSHARP1_DB_FLT_CTRL, 0, 23, 1);
+ }
VSYNC_WR_MPEG_REG(VPP_VADJ_CTRL, 0xd);
pc_mode_last = pc_mode;
} else if ((pc_mode == 0) && (pc_mode != pc_mode_last)) {
@@ -3179,6 +3190,17 @@ void pc_mode_process(void)
VSYNC_WR_MPEG_REG_BITS(SRSHARP1_SR3_DERING_CTRL,
0, 28, 3);
}
+ if (cpu_after_eq(MESON_CPU_MAJOR_ID_TXLX)) {
+ VSYNC_WR_MPEG_REG_BITS(SRSHARP0_DB_FLT_CTRL, 0, 4, 1);
+ VSYNC_WR_MPEG_REG_BITS(SRSHARP0_DB_FLT_CTRL, 0, 5, 1);
+ VSYNC_WR_MPEG_REG_BITS(SRSHARP0_DB_FLT_CTRL, 0, 22, 1);
+ VSYNC_WR_MPEG_REG_BITS(SRSHARP0_DB_FLT_CTRL, 0, 23, 1);
+
+ VSYNC_WR_MPEG_REG_BITS(SRSHARP1_DB_FLT_CTRL, 0, 4, 1);
+ VSYNC_WR_MPEG_REG_BITS(SRSHARP1_DB_FLT_CTRL, 0, 5, 1);
+ VSYNC_WR_MPEG_REG_BITS(SRSHARP1_DB_FLT_CTRL, 0, 22, 1);
+ VSYNC_WR_MPEG_REG_BITS(SRSHARP1_DB_FLT_CTRL, 0, 23, 1);
+ }
VSYNC_WR_MPEG_REG(VPP_VADJ_CTRL, 0x0);
pc_mode_last = pc_mode;
}