mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
vpp: enable the video data path for g12b
PD#165090: vpp: enable the video data path for g12b Change-Id: I35fd1e61d97d4d416f70f954c58217b70740e6f3 Signed-off-by: Brian Zhu <brian.zhu@amlogic.com>
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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 =
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user