pixel_fmt, cam->v2f.fmt.pix.width,
cam->v2f.fmt.pix.height,
cam->v2f.fmt.pix.width, IPU_ROTATE_NONE,
- dummy, dummy,
+ dummy, dummy, 0,
cam->offset.u_offset,
cam->offset.v_offset);
if (err != 0) {
enc.csi_prp_enc_mem.out_width,
IPU_ROTATE_NONE,
cam->rot_enc_bufs[0],
- cam->rot_enc_bufs[1], 0, 0);
+ cam->rot_enc_bufs[1], 0, 0, 0);
if (err != 0) {
printk(KERN_ERR "CSI_PRP_ENC_MEM err\n");
return err;
enc.csi_prp_enc_mem.out_width,
cam->rotation,
cam->rot_enc_bufs[0],
- cam->rot_enc_bufs[1], 0, 0);
+ cam->rot_enc_bufs[1], 0, 0, 0);
if (err != 0) {
printk(KERN_ERR "MEM_ROT_ENC_MEM input buffer\n");
return err;
cam->v2f.fmt.pix.bytesperline /
bytes_per_pixel(enc.csi_prp_enc_mem.
out_pixel_fmt),
- IPU_ROTATE_NONE, dummy, dummy,
+ IPU_ROTATE_NONE,
+ dummy, dummy, 0,
cam->offset.u_offset,
cam->offset.v_offset);
if (err != 0) {
cam->v2f.fmt.pix.bytesperline /
bytes_per_pixel(enc.csi_prp_enc_mem.
out_pixel_fmt),
- cam->rotation, dummy, dummy,
+ cam->rotation,
+ dummy, dummy, 0,
cam->offset.u_offset,
cam->offset.v_offset);
if (err != 0) {
fbvar.yres = cam->win.w.height;
fbvar.yres_virtual = cam->win.w.height * 2;
fbvar.yoffset = 0;
+ fbvar.accel_flags = FB_ACCEL_DOUBLE_FLAG;
fbvar.activate |= FB_ACTIVATE_FORCE;
fb_set_var(fbi, &fbvar);
vf.csi_prp_vf_mem.out_width,
vf.csi_prp_vf_mem.out_height,
vf.csi_prp_vf_mem.out_width,
- IPU_ROTATE_NONE, cam->vf_bufs[0],
- cam->vf_bufs[1], 0, 0);
+ IPU_ROTATE_NONE,
+ cam->vf_bufs[0], cam->vf_bufs[1],
+ 0, 0, 0);
if (err != 0) {
goto out_3;
}
vf.csi_prp_vf_mem.out_width,
vf.csi_prp_vf_mem.out_height,
vf.csi_prp_vf_mem.out_width,
- cam->vf_rotation, cam->vf_bufs[0],
- cam->vf_bufs[1], 0, 0);
+ cam->vf_rotation,
+ cam->vf_bufs[0],
+ cam->vf_bufs[1],
+ 0, 0, 0);
if (err != 0) {
printk(KERN_ERR "Error MEM_ROT_VF_MEM input buffer\n");
goto out_2;
fbi->fix.smem_start +
(fbi->fix.line_length *
fbi->var.yres),
- fbi->fix.smem_start, 0, 0);
+ fbi->fix.smem_start, 0, 0, 0);
if (err != 0) {
printk(KERN_ERR "Error MEM_ROT_VF_MEM output buffer\n");
fbi->fix.smem_start +
(fbi->fix.line_length *
fbi->var.yres),
- fbi->fix.smem_start, 0, 0);
+ fbi->fix.smem_start, 0, 0, 0);
if (err != 0) {
printk(KERN_ERR "Error initializing CSI_PRP_VF_MEM\n");
goto out_4;
/* Set the overlay frame buffer std to what it is used to be */
fbvar = fbi->var;
+ fbvar.accel_flags = FB_ACCEL_TRIPLE_FLAG;
fbvar.nonstd = cam->fb_origin_std;
fbvar.activate |= FB_ACTIVATE_FORCE;
fb_set_var(fbi, &fbvar);
format, vf.csi_prp_vf_mem.out_width,
vf.csi_prp_vf_mem.out_height,
vf.csi_prp_vf_mem.out_width,
- IPU_ROTATE_NONE, cam->vf_bufs[0],
- cam->vf_bufs[1], 0, 0);
+ IPU_ROTATE_NONE,
+ cam->vf_bufs[0],
+ cam->vf_bufs[1],
+ 0, 0, 0);
if (err != 0) {
printk(KERN_ERR "Error initializing CSI_PRP_VF_MEM\n");
goto out_3;
format, vf.csi_prp_vf_mem.out_width,
vf.csi_prp_vf_mem.out_height,
vf.csi_prp_vf_mem.out_width,
- cam->vf_rotation, cam->vf_bufs[0],
- cam->vf_bufs[1], 0, 0);
+ cam->vf_rotation,
+ cam->vf_bufs[0],
+ cam->vf_bufs[1],
+ 0, 0, 0);
if (err != 0) {
printk(KERN_ERR "Error MEM_ROT_VF_MEM input buffer\n");
goto out_2;
vf.csi_prp_vf_mem.out_height,
vf.csi_prp_vf_mem.out_width,
cam->overlay_fb->var.xres * bpp,
- IPU_ROTATE_NONE, offset, 0, 0, 0);
+ IPU_ROTATE_NONE,
+ offset, 0, 0, 0, 0);
if (err != 0) {
printk(KERN_ERR "Error MEM_ROT_VF_MEM output buffer\n");
vf.csi_prp_vf_mem.out_width,
vf.csi_prp_vf_mem.out_height,
cam->overlay_fb->var.xres * bpp,
- IPU_ROTATE_NONE, offset, 0, 0, 0);
+ IPU_ROTATE_NONE,
+ offset, 0, 0, 0, 0);
if (err != 0) {
printk(KERN_ERR "Error MEM_ROT_VF_MEM output buffer\n");
goto out_2;
pixel_fmt, cam->v2f.fmt.pix.width,
cam->v2f.fmt.pix.height,
cam->v2f.fmt.pix.width, IPU_ROTATE_NONE,
- cam->still_buf[0], cam->still_buf[1],
+ cam->still_buf[0], cam->still_buf[1], 0,
0, 0);
if (err != 0)
return err;
IPU_ROTATE_NONE,
vout->v4l2_bufs[vout->ipu_buf[0]].m.offset,
vout->v4l2_bufs[vout->ipu_buf[0]].m.offset,
+ 0,
u_offset, v_offset) != 0) {
dev_err(dev, "Error initializing VDI current input buffer\n");
return -EINVAL;
stride, IPU_ROTATE_NONE,
vout->v4l2_bufs[vout->ipu_buf_p[0]].m.offset+vout->bytesperline,
vout->v4l2_bufs[vout->ipu_buf_p[0]].m.offset+vout->bytesperline,
+ 0,
u_offset, v_offset) != 0) {
dev_err(dev, "Error initializing VDI previous input buffer\n");
return -EINVAL;
stride, IPU_ROTATE_NONE,
vout->v4l2_bufs[vout->ipu_buf_n[0]].m.offset+vout->bytesperline,
vout->v4l2_bufs[vout->ipu_buf_n[0]].m.offset+vout->bytesperline,
+ 0,
u_offset, v_offset) != 0) {
dev_err(dev, "Error initializing VDI next input buffer\n");
return -EINVAL;
out_height, out_width,
IPU_ROTATE_NONE,
vout->rot_pp_bufs[0],
- vout->rot_pp_bufs[1], 0, 0) != 0) {
+ vout->rot_pp_bufs[1], 0, 0, 0) != 0) {
dev_err(dev, "Error initializing PRP output buffer\n");
return -EINVAL;
}
out_height, out_width,
vout->rotate,
vout->rot_pp_bufs[0],
- vout->rot_pp_bufs[1], 0, 0) != 0) {
+ vout->rot_pp_bufs[1], 0, 0, 0) != 0) {
dev_err(dev,
"Error initializing PP ROT input buffer\n");
return -EINVAL;
out_height, out_width,
IPU_ROTATE_NONE,
vout->display_bufs[0],
- vout->display_bufs[1], 0, 0) != 0) {
+ vout->display_bufs[1], 0, 0, 0) != 0) {
dev_err(dev,
"Error initializing PP-VDI output buffer\n");
return -EINVAL;
out_height, out_width,
vout->rotate,
vout->display_bufs[0],
- vout->display_bufs[1], 0, 0) != 0) {
+ vout->display_bufs[1], 0, 0, 0) != 0) {
dev_err(dev,
"Error initializing PP-VDI output buffer\n");
return -EINVAL;
IPU_ROTATE_NONE,
phy_addr0,
phy_addr1,
+ 0,
vout->offset.u_offset,
vout->offset.v_offset) != 0) {
dev_err(dev, "Error initializing PP input buffer\n");
out_height, out_stride,
IPU_ROTATE_NONE,
vout->rot_pp_bufs[0] + eba_offset,
- vout->rot_pp_bufs[1] + eba_offset, 0, 0) != 0) {
+ vout->rot_pp_bufs[1] + eba_offset, 0, 0, 0) != 0) {
dev_err(dev, "Error initializing PP output buffer\n");
return -EINVAL;
}
out_height, out_stride,
vout->rotate,
vout->rot_pp_bufs[0],
- vout->rot_pp_bufs[1], 0, 0) != 0) {
+ vout->rot_pp_bufs[1], 0, 0, 0) != 0) {
dev_err(dev,
"Error initializing PP ROT input buffer\n");
return -EINVAL;
out_height, out_stride,
IPU_ROTATE_NONE,
vout->display_bufs[0] + eba_offset,
- vout->display_bufs[1] + eba_offset, 0, 0) != 0) {
+ vout->display_bufs[1] + eba_offset, 0, 0, 0) != 0) {
dev_err(dev, "Error initializing PP output buffer\n");
return -EINVAL;
}
out_height, out_stride,
vout->rotate,
vout->display_bufs[0] + eba_offset,
- vout->display_bufs[1] + eba_offset, 0, 0) != 0) {
+ vout->display_bufs[1] + eba_offset, 0, 0, 0) != 0) {
dev_err(dev, "Error initializing PP output buffer\n");
return -EINVAL;
}
/* Init display channel through fb API */
fbvar.yoffset = 0;
+ fbvar.accel_flags = FB_ACCEL_DOUBLE_FLAG;
fbvar.activate |= FB_ACTIVATE_FORCE;
console_lock();
fbi->flags |= FBINFO_MISC_USEREVENT;
}
if (vout->ic_bypass) {
+ fbi->var.accel_flags = FB_ACCEL_TRIPLE_FLAG;
fbi->var.activate |= FB_ACTIVATE_FORCE;
console_lock();
fbi->flags |= FBINFO_MISC_USEREVENT;
}
ipu_disable_channel(MEM_PP_MEM, true);
+ fbi->var.accel_flags = FB_ACCEL_TRIPLE_FLAG;
fbi->var.activate |= FB_ACTIVATE_FORCE;
console_lock();
fbi->flags |= FBINFO_MISC_USEREVENT;
ipu_disable_channel(MEM_VDI_PRP_VF_MEM_N, true);
}
+ fbi->var.accel_flags = FB_ACCEL_TRIPLE_FLAG;
fbi->var.activate |= FB_ACTIVATE_FORCE;
console_lock();
fbi->flags |= FBINFO_MISC_USEREVENT;