int s5p_mixer_set_grp_base_address(enum s5p_mixer_layer layer, u32 base_addr) { tvout_dbg("%d, 0x%x\n", layer, base_addr); if (S5P_MXR_GRP_ADDR_ILLEGAL(base_addr)) { tvout_err("address is not word align = %d\n", base_addr); return -1; } switch (layer) { case MIXER_GPR0_LAYER: writel(S5P_MXR_GPR_BASE(base_addr), mixer_base + S5P_MXR_GRAPHIC0_BASE); break; case MIXER_GPR1_LAYER: writel(S5P_MXR_GPR_BASE(base_addr), mixer_base + S5P_MXR_GRAPHIC1_BASE); break; default: tvout_err("invalid layer parameter = %d\n", layer); return -1; } return 0; }
s5p_tv_vmx_err __s5p_vm_set_grp_base_address(s5p_tv_vmx_layer layer, u32 base_addr) { VMPRINTK("%d,0x%x\n\r", layer, base_addr); if (S5P_MXR_GRP_ADDR_ILLEGAL(base_addr)) { VMPRINTK(" address is not word align = %d\n\r", base_addr); return S5P_TV_VMX_ERR_BASE_ADDRESS_MUST_WORD_ALIGN; } switch (layer) { case VM_GPR0_LAYER: writel(S5P_MXR_GPR_BASE(base_addr), mixer_base + S5P_MXR_GRAPHIC0_BASE); VMPRINTK("0x%x\n\r", readl(mixer_base + S5P_MXR_GRAPHIC0_BASE)); break; case VM_GPR1_LAYER: writel(S5P_MXR_GPR_BASE(base_addr), mixer_base + S5P_MXR_GRAPHIC1_BASE); VMPRINTK("0x%x\n\r", readl(mixer_base + S5P_MXR_GRAPHIC1_BASE)); break; default: VMPRINTK(" invalid layer parameter = %d\n\r", layer); return S5P_TV_VMX_ERR_INVALID_PARAM; break; } return VMIXER_NO_ERROR; }