diff --git a/drivers/amlogic/media/video_sink/video.c b/drivers/amlogic/media/video_sink/video.c index f48037b869cd..7979ac991da1 100644 --- a/drivers/amlogic/media/video_sink/video.c +++ b/drivers/amlogic/media/video_sink/video.c @@ -10322,10 +10322,19 @@ static int __init video_early_init(void) DMC_AM0_CHAN_CTRL, 0x8ff403cf); - /* force bypass dolby for TL1. There is no dolby function */ - if (is_meson_tl1_cpu()) + if (is_meson_tl1_cpu()) { + /* force bypass dolby for TL1, no dolby function */ WRITE_VCBUS_REG_BITS( DOLBY_PATH_CTRL, 0xf, 0, 6); + /* disable latch for sr core0/1 scaler */ + WRITE_VCBUS_REG_BITS( + SRSHARP0_SHARP_SYNC_CTRL, 1, 8, 1); + WRITE_VCBUS_REG_BITS( + SRSHARP1_SHARP_SYNC_CTRL, 1, 8, 1); + } + if (is_meson_g12b_cpu()) + WRITE_VCBUS_REG_BITS( + SRSHARP0_SHARP_SYNC_CTRL, 1, 8, 1); return 0; } diff --git a/include/linux/amlogic/media/registers/regs/vpp_regs.h b/include/linux/amlogic/media/registers/regs/vpp_regs.h index c82b4bad29fe..7daba0912eb6 100644 --- a/include/linux/amlogic/media/registers/regs/vpp_regs.h +++ b/include/linux/amlogic/media/registers/regs/vpp_regs.h @@ -245,5 +245,8 @@ #define OSD1_BLEND_SRC_CTRL 0x1dfd #define OSD2_BLEND_SRC_CTRL 0x1dfe +/* after g12b */ +#define SRSHARP0_SHARP_SYNC_CTRL 0x3eb0 +#define SRSHARP1_SHARP_SYNC_CTRL 0x3fb0 #endif