diff --git a/drivers/amlogic/media/enhancement/amvecm/amvecm.c b/drivers/amlogic/media/enhancement/amvecm/amvecm.c index 5601b5f87c14..3ee499342b8a 100644 --- a/drivers/amlogic/media/enhancement/amvecm/amvecm.c +++ b/drivers/amlogic/media/enhancement/amvecm/amvecm.c @@ -4612,7 +4612,7 @@ static int aml_vecm_probe(struct platform_device *pdev) /* amvecm_vpp_mtx_debug(mtx_sel_dbg, 1);*/ } else if (is_meson_txhd_cpu()) vpp_set_10bit_datapath1(); - else if (is_meson_g12a_cpu()) + else if (is_meson_g12a_cpu() || is_meson_g12b_cpu()) vpp_set_12bit_datapath_g12a(); memset(&vpp_hist_param.vpp_histgram[0], 0, sizeof(unsigned short) * 64); diff --git a/drivers/amlogic/media/enhancement/amvecm/bitdepth.c b/drivers/amlogic/media/enhancement/amvecm/bitdepth.c index a9395a3da09a..0b9e159cec86 100644 --- a/drivers/amlogic/media/enhancement/amvecm/bitdepth.c +++ b/drivers/amlogic/media/enhancement/amvecm/bitdepth.c @@ -222,14 +222,16 @@ void vpp_extend_mode_osd2(bool mode) /**/ void vpp_vd1_if_bits_mode(enum vd_if_bits_mode_e bits_mode) { - u32 reg = (is_meson_g12a_cpu() ? + u32 reg = ((is_meson_g12a_cpu() || + is_meson_g12b_cpu()) ? G12_VD1_IF0_GEN_REG3 : VD1_IF0_GEN_REG3); WRITE_VPP_REG_BITS(reg, (bits_mode & 0x3), 8, 2); } void vpp_vd2_if_bits_mode(enum vd_if_bits_mode_e bits_mode) { - u32 reg = (is_meson_g12a_cpu() ? + u32 reg = ((is_meson_g12a_cpu() || + is_meson_g12b_cpu()) ? G12_VD2_IF0_GEN_REG3 : VD2_IF0_GEN_REG3); WRITE_VPP_REG_BITS(reg, (bits_mode & 0x3), 8, 2); @@ -384,7 +386,7 @@ void vpp_set_12bit_datapath_g12a(void) vpp_set_vd1_ext_mod(0); vpp_set_vd1_bypass_dolby(1); - if (is_meson_g12a_cpu()) { + if (is_meson_g12a_cpu() || is_meson_g12b_cpu()) { /*vd1 mux config*/ vpp_set_vd1_mux0(0); vpp_set_vd1_mux1(0); @@ -652,7 +654,7 @@ void vpp_datapath_status(void) unsigned int chroma_coring_en, black_ext_en, bluestretch_en; unsigned int vadj1_en, vadj2_en; - if (is_meson_g12a_cpu()) { + if (is_meson_g12a_cpu() || is_meson_g12b_cpu()) { vd1_out_format = READ_VPP_REG_BITS(G12_VD1_IF0_GEN_REG3, 8, 2); vd2_out_format = diff --git a/drivers/amlogic/media/video_sink/video.c b/drivers/amlogic/media/video_sink/video.c index a11354cbd63b..bcc6c982983c 100644 --- a/drivers/amlogic/media/video_sink/video.c +++ b/drivers/amlogic/media/video_sink/video.c @@ -3366,7 +3366,8 @@ static void viu_set_dcu(struct vpp_frame_par_s *frame_par, struct vframe_s *vf) } #ifdef CONFIG_AMLOGIC_MEDIA_ENHANCEMENT_DOLBYVISION if ((is_meson_txlx_cpu() - || is_meson_g12a()) + || is_meson_g12a_cpu() + || is_meson_g12b_cpu()) && is_dolby_vision_on() && is_dolby_vision_stb_mode() && (vf->source_type == @@ -3832,7 +3833,8 @@ static void vd2_set_dcu(struct vpp_frame_par_s *frame_par, struct vframe_s *vf) } #ifdef CONFIG_AMLOGIC_MEDIA_ENHANCEMENT_DOLBYVISION if ((is_meson_txlx_cpu() - || is_meson_g12a()) + || is_meson_g12a_cpu() + || is_meson_g12b_cpu()) && is_dolby_vision_on() && is_dolby_vision_stb_mode() && (vf->source_type == @@ -6317,10 +6319,10 @@ SET_FILTER: VSYNC_WR_MPEG_REG_BITS( VIU_MISC_CTRL1, 1, 16, 1); /* bypass core1 */ - else if (is_meson_g12a()) + else if (is_meson_g12a_cpu() + || is_meson_g12b_cpu()) VSYNC_WR_MPEG_REG_BITS( - DOLBY_PATH_CTRL, - 1, 0, 1); + DOLBY_PATH_CTRL, 1, 0, 1); } if (cur_dispbuf && (cur_dispbuf == &vf_local)) cur_dispbuf = NULL; @@ -10001,7 +10003,7 @@ static int __init video_init(void) } #endif - if (is_meson_g12a_cpu()) { + if (is_meson_g12a_cpu() || is_meson_g12b_cpu()) { cur_dev->viu_off = 0x3200 - 0x1a50; legacy_vpp = false; } diff --git a/drivers/amlogic/media/video_sink/vpp.c b/drivers/amlogic/media/video_sink/vpp.c index 453c58a4af83..a0107a5a1970 100644 --- a/drivers/amlogic/media/video_sink/vpp.c +++ b/drivers/amlogic/media/video_sink/vpp.c @@ -2657,7 +2657,7 @@ void vpp_super_scaler_support(void) sr_support &= ~SUPER_CORE1_SUPPORT; } scaler_path_sel = SCALER_PATH_MAX; - if (is_meson_g12a_cpu()) { + if (is_meson_g12a_cpu() || is_meson_g12b_cpu()) { sr_reg_offt = 0xc00; super_scaler = false; } else