From 12c6a8c12a791d6bd6272dd938d112490a90c080 Mon Sep 17 00:00:00 2001 From: MingLiang Dong Date: Sat, 3 Feb 2018 13:54:10 +0800 Subject: [PATCH] amvecm: fix pq load fail PD#158996: amvecm: fix pq load fail Change-Id: I23d26427ebff2d13c2ea95ffa0b97c9b9a14f865 Signed-off-by: MingLiang Dong --- .../amlogic/media/enhancement/amvecm/amve.c | 23 +++++++++---------- .../media/enhancement/amvecm/arch/ve_regs.h | 19 +++++++++++++++ drivers/amlogic/media/video_sink/video.c | 3 ++- 3 files changed, 32 insertions(+), 13 deletions(-) diff --git a/drivers/amlogic/media/enhancement/amvecm/amve.c b/drivers/amlogic/media/enhancement/amvecm/amve.c index 8341619fca0c..a0f86c04014e 100644 --- a/drivers/amlogic/media/enhancement/amvecm/amve.c +++ b/drivers/amlogic/media/enhancement/amvecm/amve.c @@ -3971,10 +3971,12 @@ void ve_enable_dnlp(void) ve_en = 1; /* #ifdef NEW_DNLP_IN_SHARPNESS */ /* if(dnlp_sel == NEW_DNLP_IN_SHARPNESS){ */ - if (is_meson_gxtvbb_cpu() && - (dnlp_sel == NEW_DNLP_IN_SHARPNESS)) - WRITE_VPP_REG_BITS(SRSHARP0_DNLP_EN, 1, 0, 1); - else + if (dnlp_sel == NEW_DNLP_IN_SHARPNESS) { + if (is_meson_gxlx_cpu()) + WRITE_VPP_REG_BITS(SRSHARP1_DNLP_EN, 1, 0, 1); + else + WRITE_VPP_REG_BITS(SRSHARP0_DNLP_EN, 1, 0, 1); + } else /* #endif */ WRITE_VPP_REG_BITS(VPP_VE_ENABLE_CTRL, 1, DNLP_EN_BIT, DNLP_EN_WID); @@ -3983,17 +3985,14 @@ void ve_enable_dnlp(void) void ve_disable_dnlp(void) { ve_en = 0; -/* #ifdef NEW_DNLP_IN_SHARPNESS */ -/* if(dnlp_sel == NEW_DNLP_IN_SHARPNESS){ */ - if (is_meson_gxtvbb_cpu() && - (dnlp_sel == NEW_DNLP_IN_SHARPNESS)) - WRITE_VPP_REG_BITS(SRSHARP0_DNLP_EN, 0, 0, 1); + if (dnlp_sel == NEW_DNLP_IN_SHARPNESS) + if (is_meson_gxlx_cpu()) + WRITE_VPP_REG_BITS(SRSHARP1_DNLP_EN, 0, 0, 1); + else + WRITE_VPP_REG_BITS(SRSHARP0_DNLP_EN, 0, 0, 1); else -/* #endif */ -/* { */ WRITE_VPP_REG_BITS(VPP_VE_ENABLE_CTRL, 0, DNLP_EN_BIT, DNLP_EN_WID); -/* } */ } void ve_set_dnlp(struct ve_dnlp_s *p) diff --git a/drivers/amlogic/media/enhancement/amvecm/arch/ve_regs.h b/drivers/amlogic/media/enhancement/amvecm/arch/ve_regs.h index 89ae0c832af4..bc38b6224212 100644 --- a/drivers/amlogic/media/enhancement/amvecm/arch/ve_regs.h +++ b/drivers/amlogic/media/enhancement/amvecm/arch/ve_regs.h @@ -526,4 +526,23 @@ #define SRSHARP0_DNLP_15 0x3255 #define SRSHARP0_DEMO_CRTL 0x3256 +#define SRSHARP1_DNLP_EN 0x32c5 +#define SRSHARP1_DNLP_00 0x32c6 +#define SRSHARP1_DNLP_01 0x32c7 +#define SRSHARP1_DNLP_02 0x32c8 +#define SRSHARP1_DNLP_03 0x32c9 +#define SRSHARP1_DNLP_04 0x32ca +#define SRSHARP1_DNLP_05 0x32cb +#define SRSHARP1_DNLP_06 0x32cc +#define SRSHARP1_DNLP_07 0x32cd +#define SRSHARP1_DNLP_08 0x32ce +#define SRSHARP1_DNLP_09 0x32cf +#define SRSHARP1_DNLP_10 0x32d0 +#define SRSHARP1_DNLP_11 0x32d1 +#define SRSHARP1_DNLP_12 0x32d2 +#define SRSHARP1_DNLP_13 0x32d3 +#define SRSHARP1_DNLP_14 0x32d4 +#define SRSHARP1_DNLP_15 0x32d5 +#define SRSHARP1_DEMO_CRTL 0x32d6 + #endif /* _VE_REG_H */ diff --git a/drivers/amlogic/media/video_sink/video.c b/drivers/amlogic/media/video_sink/video.c index 315fe21f8bc8..1f5fcfb242ba 100644 --- a/drivers/amlogic/media/video_sink/video.c +++ b/drivers/amlogic/media/video_sink/video.c @@ -4887,7 +4887,8 @@ SET_FILTER: amvecm_on_vs( (cur_dispbuf != &vf_local) ? cur_dispbuf : NULL, - vf, CSC_FLAG_CHECK_OUTPUT, + toggle_frame, + toggle_frame ? CSC_FLAG_TOGGLE_FRAME : 0, cur_frame_par ? cur_frame_par->supsc1_hori_ratio : 0,