summaryrefslogtreecommitdiff
path: root/drivers/media/video/mxc/capture/ipu_prp_vf_sdc.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/mxc/capture/ipu_prp_vf_sdc.c')
-rw-r--r--drivers/media/video/mxc/capture/ipu_prp_vf_sdc.c40
1 files changed, 12 insertions, 28 deletions
diff --git a/drivers/media/video/mxc/capture/ipu_prp_vf_sdc.c b/drivers/media/video/mxc/capture/ipu_prp_vf_sdc.c
index f4ec31e975cb..369facdf29c2 100644
--- a/drivers/media/video/mxc/capture/ipu_prp_vf_sdc.c
+++ b/drivers/media/video/mxc/capture/ipu_prp_vf_sdc.c
@@ -67,6 +67,18 @@ static int prpvf_start(void *private)
return -EPERM;
}
+ fbvar = fbi->var;
+ fbvar.bits_per_pixel = 16;
+ fbvar.nonstd = 0;
+ fbvar.xres = fbvar.xres_virtual = cam->win.w.width;
+ fbvar.yres = cam->win.w.height;
+ fbvar.yres_virtual = cam->win.w.height * 2;
+ fbvar.activate |= FB_ACTIVATE_FORCE;
+ fb_set_var(fbi, &fbvar);
+
+ ipu_disp_set_window_pos(MEM_FG_SYNC, cam->win.w.left,
+ cam->win.w.top);
+
memset(&vf, 0, sizeof(ipu_channel_params_t));
ipu_csi_get_window_size(&vf.csi_prp_vf_mem.in_width,
&vf.csi_prp_vf_mem.in_height, cam->csi);
@@ -124,20 +136,6 @@ static int prpvf_start(void *private)
pr_debug("vf_bufs %x %x\n", cam->vf_bufs[0], cam->vf_bufs[1]);
if (cam->vf_rotation >= IPU_ROTATE_VERT_FLIP) {
- fbvar = fbi->var;
-
- fbvar.bits_per_pixel = 16;
- fbvar.nonstd = 0;
- fbvar.xres = fbvar.xres_virtual = vf.csi_prp_vf_mem.out_height;
- fbvar.yres = vf.csi_prp_vf_mem.out_width;
- fbvar.yres_virtual = vf.csi_prp_vf_mem.out_width * 2;
-
- fbvar.activate |= FB_ACTIVATE_FORCE;
- fb_set_var(fbi, &fbvar);
-
- ipu_disp_set_window_pos(MEM_FG_SYNC, cam->win.w.left,
- cam->win.w.top);
-
err = ipu_init_channel_buffer(CSI_PRP_VF_MEM, IPU_OUTPUT_BUFFER,
format,
vf.csi_prp_vf_mem.out_width,
@@ -212,20 +210,6 @@ static int prpvf_start(void *private)
ipu_select_buffer(MEM_ROT_VF_MEM, IPU_OUTPUT_BUFFER, 0);
ipu_select_buffer(MEM_ROT_VF_MEM, IPU_OUTPUT_BUFFER, 1);
} else {
- fbvar = fbi->var;
-
- fbvar.bits_per_pixel = 16;
- fbvar.nonstd = 0;
- fbvar.xres = fbvar.xres_virtual = vf.csi_prp_vf_mem.out_width;
- fbvar.yres = vf.csi_prp_vf_mem.out_height;
- fbvar.yres_virtual = vf.csi_prp_vf_mem.out_height * 2;
-
- fbvar.activate |= FB_ACTIVATE_FORCE;
- fb_set_var(fbi, &fbvar);
-
- ipu_disp_set_window_pos(MEM_FG_SYNC, cam->win.w.left,
- cam->win.w.top);
-
err = ipu_init_channel_buffer(CSI_PRP_VF_MEM, IPU_OUTPUT_BUFFER,
format, cam->win.w.width,
cam->win.w.height,