cap->config->mi.cr_size_init);
 
        rkisp1_irq_frame_end_enable(cap);
-       if (cap->pix.cfg->uv_swap) {
-               reg = rkisp1_read(rkisp1, RKISP1_CIF_MI_XTD_FORMAT_CTRL);
-
+       reg = rkisp1_read(rkisp1, RKISP1_CIF_MI_XTD_FORMAT_CTRL);
+       if (cap->pix.cfg->uv_swap)
                reg |= RKISP1_CIF_MI_XTD_FMT_CTRL_MP_CB_CR_SWAP;
-               rkisp1_write(rkisp1, reg, RKISP1_CIF_MI_XTD_FORMAT_CTRL);
-       }
+       else
+               reg &= ~RKISP1_CIF_MI_XTD_FMT_CTRL_MP_CB_CR_SWAP;
+       rkisp1_write(rkisp1, reg, RKISP1_CIF_MI_XTD_FORMAT_CTRL);
 
        rkisp1_mi_config_ctrl(cap);
 
 {
        const struct v4l2_pix_format_mplane *pixm = &cap->pix.fmt;
        struct rkisp1_device *rkisp1 = cap->rkisp1;
-       u32 mi_ctrl;
+       u32 mi_ctrl, reg;
 
        rkisp1_write(rkisp1, rkisp1_pixfmt_comp_size(pixm, RKISP1_PLANE_Y),
                     cap->config->mi.y_size_init);
        rkisp1_write(rkisp1, cap->sp_y_stride, RKISP1_CIF_MI_SP_Y_LLENGTH);
 
        rkisp1_irq_frame_end_enable(cap);
-       if (cap->pix.cfg->uv_swap) {
-               u32 reg = rkisp1_read(rkisp1, RKISP1_CIF_MI_XTD_FORMAT_CTRL);
 
+       reg = rkisp1_read(rkisp1, RKISP1_CIF_MI_XTD_FORMAT_CTRL);
+       if (cap->pix.cfg->uv_swap)
                reg |= RKISP1_CIF_MI_XTD_FMT_CTRL_SP_CB_CR_SWAP;
-               rkisp1_write(rkisp1, reg, RKISP1_CIF_MI_XTD_FORMAT_CTRL);
-       }
+       else
+               reg &= ~RKISP1_CIF_MI_XTD_FMT_CTRL_SP_CB_CR_SWAP;
+       rkisp1_write(rkisp1, reg, RKISP1_CIF_MI_XTD_FORMAT_CTRL);
 
        rkisp1_mi_config_ctrl(cap);