int s5p_mixer_set_grp_layer_dst_pos(enum s5p_mixer_layer layer, u32 dst_offs_x, u32 dst_offs_y) { tvout_dbg("%d, %d, %d\n", layer, dst_offs_x, dst_offs_y); switch (layer) { case MIXER_GPR0_LAYER: writel(S5P_MXR_GRP_DESTX(dst_offs_x) | S5P_MXR_GRP_DESTY(dst_offs_y), mixer_base + S5P_MXR_GRAPHIC0_DXY); break; case MIXER_GPR1_LAYER: writel(S5P_MXR_GRP_DESTX(dst_offs_x) | S5P_MXR_GRP_DESTY(dst_offs_y), mixer_base + S5P_MXR_GRAPHIC1_DXY); break; default: tvout_err("invalid layer parameter = %d\n", layer); return -1; } return 0; }
s5p_tv_vmx_err __s5p_vm_set_grp_layer_position(s5p_tv_vmx_layer layer, u32 dst_offs_x, u32 dst_offs_y) { VMPRINTK("%d,%d,%d)\n\r", layer, dst_offs_x, dst_offs_y); switch (layer) { case VM_GPR0_LAYER: writel(S5P_MXR_GRP_DESTX(dst_offs_x) | S5P_MXR_GRP_DESTY(dst_offs_y), mixer_base + S5P_MXR_GRAPHIC0_DXY); VMPRINTK("0x%x\n\r", readl(mixer_base + S5P_MXR_GRAPHIC0_DXY)); break; case VM_GPR1_LAYER: writel(S5P_MXR_GRP_DESTX(dst_offs_x) | S5P_MXR_GRP_DESTY(dst_offs_y), mixer_base + S5P_MXR_GRAPHIC1_DXY); VMPRINTK("0x%x\n\r", readl(mixer_base + S5P_MXR_GRAPHIC1_DXY)); break; default: VMPRINTK("invalid layer parameter = %d\n\r", layer); return S5P_TV_VMX_ERR_INVALID_PARAM; break; } return VMIXER_NO_ERROR; }