[PATCH v4 10/21] media: rkisp1: Swap value and address arguments to rkisp1_write()

Laurent Pinchart laurent.pinchart at ideasonboard.com
Mon Apr 25 11:59:54 PDT 2022


Hi Ricardo,

On Mon, Apr 25, 2022 at 11:53:33AM +0200, Ricardo Ribalda wrote:
> Laurent Pinchart wrote:
> 
> > While writel() takes the value and address arguments in that order, most
> > write functions (including in the regmap API) use the opposite
> > convention. Having the value first is considered confusing, and often
> > leads to more difficult to read code compared to the opposite convention
> > where the write call and the register name often fit on a single line:
> > 
> > 	rkisp1_write(rkisp1, RKISP1_CIF_THE_REG_NAME,
> > 		     complicate_calculation + for / the_register
> > 		     value + goes | here);
>
> +1000, is it too late to fix writel? :P

Be my guest :-)

> > Swap the arguments of the rkisp1_write() function, and use the following
> > semantic patch to update the callers:
> > 
> > @@
> > expression rkisp1, value, address;
> > @@
> > 
> > - rkisp1_write(rkisp1, value, address)
> > + rkisp1_write(rkisp1, address, value)
> > 
> > This commit also includes a few additional line break cleanups in the
> > rkisp1_write() calls, but no other manual change.
> > 
> > Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> > Reviewed-by: Dafna Hirschfeld <dafna at fastmail.com>
> Reviewed-by: Ricardo Ribalda <ribalda at chromium.org>
> > ---
> >  .../platform/rockchip/rkisp1/rkisp1-capture.c | 107 ++-
> >  .../platform/rockchip/rkisp1/rkisp1-common.h  |   2 +-
> >  .../platform/rockchip/rkisp1/rkisp1-isp.c     | 125 ++--
> >  .../platform/rockchip/rkisp1/rkisp1-params.c  | 683 +++++++++---------
> >  .../platform/rockchip/rkisp1/rkisp1-resizer.c |  40 +-
> >  .../platform/rockchip/rkisp1/rkisp1-stats.c   |   2 +-
> >  6 files changed, 474 insertions(+), 485 deletions(-)
> > 
> > diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c
> > index 6c54e95a529b..a7cf672457cd 100644
> > --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c
> > +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c
> > @@ -383,7 +383,7 @@ static void rkisp1_mi_config_ctrl(struct rkisp1_capture *cap)
> >  	mi_ctrl |= RKISP1_CIF_MI_CTRL_INIT_BASE_EN |
> >  		   RKISP1_CIF_MI_CTRL_INIT_OFFSET_EN;
> >  
> > -	rkisp1_write(cap->rkisp1, mi_ctrl, RKISP1_CIF_MI_CTRL);
> > +	rkisp1_write(cap->rkisp1, RKISP1_CIF_MI_CTRL, mi_ctrl);
> >  }
> >  
> >  static u32 rkisp1_pixfmt_comp_size(const struct v4l2_pix_format_mplane *pixm,
> > @@ -404,7 +404,7 @@ static void rkisp1_irq_frame_end_enable(struct rkisp1_capture *cap)
> >  	u32 mi_imsc = rkisp1_read(cap->rkisp1, RKISP1_CIF_MI_IMSC);
> >  
> >  	mi_imsc |= RKISP1_CIF_MI_FRAME(cap);
> > -	rkisp1_write(cap->rkisp1, mi_imsc, RKISP1_CIF_MI_IMSC);
> > +	rkisp1_write(cap->rkisp1, RKISP1_CIF_MI_IMSC, mi_imsc);
> >  }
> >  
> >  static void rkisp1_mp_config(struct rkisp1_capture *cap)
> > @@ -413,12 +413,12 @@ static void rkisp1_mp_config(struct rkisp1_capture *cap)
> >  	struct rkisp1_device *rkisp1 = cap->rkisp1;
> >  	u32 reg;
> >  
> > -	rkisp1_write(rkisp1, rkisp1_pixfmt_comp_size(pixm, RKISP1_PLANE_Y),
> > -		     cap->config->mi.y_size_init);
> > -	rkisp1_write(rkisp1, rkisp1_pixfmt_comp_size(pixm, RKISP1_PLANE_CB),
> > -		     cap->config->mi.cb_size_init);
> > -	rkisp1_write(rkisp1, rkisp1_pixfmt_comp_size(pixm, RKISP1_PLANE_CR),
> > -		     cap->config->mi.cr_size_init);
> > +	rkisp1_write(rkisp1, cap->config->mi.y_size_init,
> > +		     rkisp1_pixfmt_comp_size(pixm, RKISP1_PLANE_Y));
> > +	rkisp1_write(rkisp1, cap->config->mi.cb_size_init,
> > +		     rkisp1_pixfmt_comp_size(pixm, RKISP1_PLANE_CB));
> > +	rkisp1_write(rkisp1, cap->config->mi.cr_size_init,
> > +		     rkisp1_pixfmt_comp_size(pixm, RKISP1_PLANE_CR));
> >  
> >  	rkisp1_irq_frame_end_enable(cap);
> >  
> > @@ -429,7 +429,7 @@ static void rkisp1_mp_config(struct rkisp1_capture *cap)
> >  			reg |= RKISP1_CIF_MI_XTD_FMT_CTRL_MP_CB_CR_SWAP;
> >  		else
> >  			reg &= ~RKISP1_CIF_MI_XTD_FMT_CTRL_MP_CB_CR_SWAP;
> > -		rkisp1_write(rkisp1, reg, RKISP1_CIF_MI_XTD_FORMAT_CTRL);
> > +		rkisp1_write(rkisp1, RKISP1_CIF_MI_XTD_FORMAT_CTRL, reg);
> >  	}
> >  
> >  	rkisp1_mi_config_ctrl(cap);
> > @@ -437,11 +437,11 @@ static void rkisp1_mp_config(struct rkisp1_capture *cap)
> >  	reg = rkisp1_read(rkisp1, RKISP1_CIF_MI_CTRL);
> >  	reg &= ~RKISP1_MI_CTRL_MP_FMT_MASK;
> >  	reg |= cap->pix.cfg->write_format;
> > -	rkisp1_write(rkisp1, reg, RKISP1_CIF_MI_CTRL);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_MI_CTRL, reg);
> >  
> >  	reg = rkisp1_read(rkisp1, RKISP1_CIF_MI_CTRL);
> >  	reg |= RKISP1_CIF_MI_MP_AUTOUPDATE_ENABLE;
> > -	rkisp1_write(rkisp1, reg, RKISP1_CIF_MI_CTRL);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_MI_CTRL, reg);
> >  }
> >  
> >  static void rkisp1_sp_config(struct rkisp1_capture *cap)
> > @@ -450,16 +450,16 @@ static void rkisp1_sp_config(struct rkisp1_capture *cap)
> >  	struct rkisp1_device *rkisp1 = cap->rkisp1;
> >  	u32 mi_ctrl, reg;
> >  
> > -	rkisp1_write(rkisp1, rkisp1_pixfmt_comp_size(pixm, RKISP1_PLANE_Y),
> > -		     cap->config->mi.y_size_init);
> > -	rkisp1_write(rkisp1, rkisp1_pixfmt_comp_size(pixm, RKISP1_PLANE_CB),
> > -		     cap->config->mi.cb_size_init);
> > -	rkisp1_write(rkisp1, rkisp1_pixfmt_comp_size(pixm, RKISP1_PLANE_CR),
> > -		     cap->config->mi.cr_size_init);
> > +	rkisp1_write(rkisp1, cap->config->mi.y_size_init,
> > +		     rkisp1_pixfmt_comp_size(pixm, RKISP1_PLANE_Y));
> > +	rkisp1_write(rkisp1, cap->config->mi.cb_size_init,
> > +		     rkisp1_pixfmt_comp_size(pixm, RKISP1_PLANE_CB));
> > +	rkisp1_write(rkisp1, cap->config->mi.cr_size_init,
> > +		     rkisp1_pixfmt_comp_size(pixm, RKISP1_PLANE_CR));
> >  
> > -	rkisp1_write(rkisp1, pixm->width, RKISP1_CIF_MI_SP_Y_PIC_WIDTH);
> > -	rkisp1_write(rkisp1, pixm->height, RKISP1_CIF_MI_SP_Y_PIC_HEIGHT);
> > -	rkisp1_write(rkisp1, cap->sp_y_stride, RKISP1_CIF_MI_SP_Y_LLENGTH);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_MI_SP_Y_PIC_WIDTH, pixm->width);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_MI_SP_Y_PIC_HEIGHT, pixm->height);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_MI_SP_Y_LLENGTH, cap->sp_y_stride);
> >  
> >  	rkisp1_irq_frame_end_enable(cap);
> >  
> > @@ -470,7 +470,7 @@ static void rkisp1_sp_config(struct rkisp1_capture *cap)
> >  			reg |= RKISP1_CIF_MI_XTD_FMT_CTRL_SP_CB_CR_SWAP;
> >  		else
> >  			reg &= ~RKISP1_CIF_MI_XTD_FMT_CTRL_SP_CB_CR_SWAP;
> > -		rkisp1_write(rkisp1, reg, RKISP1_CIF_MI_XTD_FORMAT_CTRL);
> > +		rkisp1_write(rkisp1, RKISP1_CIF_MI_XTD_FORMAT_CTRL, reg);
> >  	}
> >  
> >  	rkisp1_mi_config_ctrl(cap);
> > @@ -481,7 +481,7 @@ static void rkisp1_sp_config(struct rkisp1_capture *cap)
> >  		   RKISP1_MI_CTRL_SP_INPUT_YUV422 |
> >  		   cap->pix.cfg->output_format |
> >  		   RKISP1_CIF_MI_SP_AUTOUPDATE_ENABLE;
> > -	rkisp1_write(rkisp1, mi_ctrl, RKISP1_CIF_MI_CTRL);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_MI_CTRL, mi_ctrl);
> >  }
> >  
> >  static void rkisp1_mp_disable(struct rkisp1_capture *cap)
> > @@ -490,7 +490,7 @@ static void rkisp1_mp_disable(struct rkisp1_capture *cap)
> >  
> >  	mi_ctrl &= ~(RKISP1_CIF_MI_CTRL_MP_ENABLE |
> >  		     RKISP1_CIF_MI_CTRL_RAW_ENABLE);
> > -	rkisp1_write(cap->rkisp1, mi_ctrl, RKISP1_CIF_MI_CTRL);
> > +	rkisp1_write(cap->rkisp1, RKISP1_CIF_MI_CTRL, mi_ctrl);
> >  }
> >  
> >  static void rkisp1_sp_disable(struct rkisp1_capture *cap)
> > @@ -498,7 +498,7 @@ static void rkisp1_sp_disable(struct rkisp1_capture *cap)
> >  	u32 mi_ctrl = rkisp1_read(cap->rkisp1, RKISP1_CIF_MI_CTRL);
> >  
> >  	mi_ctrl &= ~RKISP1_CIF_MI_CTRL_SP_ENABLE;
> > -	rkisp1_write(cap->rkisp1, mi_ctrl, RKISP1_CIF_MI_CTRL);
> > +	rkisp1_write(cap->rkisp1, RKISP1_CIF_MI_CTRL, mi_ctrl);
> >  }
> >  
> >  static void rkisp1_mp_enable(struct rkisp1_capture *cap)
> > @@ -514,7 +514,7 @@ static void rkisp1_mp_enable(struct rkisp1_capture *cap)
> >  	else
> >  		mi_ctrl |= RKISP1_CIF_MI_CTRL_MP_ENABLE;
> >  
> > -	rkisp1_write(cap->rkisp1, mi_ctrl, RKISP1_CIF_MI_CTRL);
> > +	rkisp1_write(cap->rkisp1, RKISP1_CIF_MI_CTRL, mi_ctrl);
> >  }
> >  
> >  static void rkisp1_sp_enable(struct rkisp1_capture *cap)
> > @@ -522,15 +522,14 @@ static void rkisp1_sp_enable(struct rkisp1_capture *cap)
> >  	u32 mi_ctrl = rkisp1_read(cap->rkisp1, RKISP1_CIF_MI_CTRL);
> >  
> >  	mi_ctrl |= RKISP1_CIF_MI_CTRL_SP_ENABLE;
> > -	rkisp1_write(cap->rkisp1, mi_ctrl, RKISP1_CIF_MI_CTRL);
> > +	rkisp1_write(cap->rkisp1, RKISP1_CIF_MI_CTRL, mi_ctrl);
> >  }
> >  
> >  static void rkisp1_mp_sp_stop(struct rkisp1_capture *cap)
> >  {
> >  	if (!cap->is_streaming)
> >  		return;
> > -	rkisp1_write(cap->rkisp1,
> > -		     RKISP1_CIF_MI_FRAME(cap), RKISP1_CIF_MI_ICR);
> > +	rkisp1_write(cap->rkisp1, RKISP1_CIF_MI_ICR, RKISP1_CIF_MI_FRAME(cap));
> >  	cap->ops->disable(cap);
> >  }
> >  
> > @@ -554,7 +553,7 @@ static void rkisp1_mp_set_data_path(struct rkisp1_capture *cap)
> >  
> >  	dpcl = dpcl | RKISP1_CIF_VI_DPCL_CHAN_MODE_MP |
> >  	       RKISP1_CIF_VI_DPCL_MP_MUX_MRSZ_MI;
> > -	rkisp1_write(cap->rkisp1, dpcl, RKISP1_CIF_VI_DPCL);
> > +	rkisp1_write(cap->rkisp1, RKISP1_CIF_VI_DPCL, dpcl);
> >  }
> >  
> >  static void rkisp1_sp_set_data_path(struct rkisp1_capture *cap)
> > @@ -562,7 +561,7 @@ static void rkisp1_sp_set_data_path(struct rkisp1_capture *cap)
> >  	u32 dpcl = rkisp1_read(cap->rkisp1, RKISP1_CIF_VI_DPCL);
> >  
> >  	dpcl |= RKISP1_CIF_VI_DPCL_CHAN_MODE_SP;
> > -	rkisp1_write(cap->rkisp1, dpcl, RKISP1_CIF_VI_DPCL);
> > +	rkisp1_write(cap->rkisp1, RKISP1_CIF_VI_DPCL, dpcl);
> >  }
> >  
> >  static const struct rkisp1_capture_ops rkisp1_capture_ops_mp = {
> > @@ -628,9 +627,8 @@ static void rkisp1_set_next_buf(struct rkisp1_capture *cap)
> >  
> >  		buff_addr = cap->buf.next->buff_addr;
> >  
> > -		rkisp1_write(cap->rkisp1,
> > -			     buff_addr[RKISP1_PLANE_Y],
> > -			     cap->config->mi.y_base_ad_init);
> > +		rkisp1_write(cap->rkisp1, cap->config->mi.y_base_ad_init,
> > +			     buff_addr[RKISP1_PLANE_Y]);
> >  		/*
> >  		 * In order to support grey format we capture
> >  		 * YUV422 planar format from the camera and
> > @@ -638,39 +636,36 @@ static void rkisp1_set_next_buf(struct rkisp1_capture *cap)
> >  		 */
> >  		if (cap->pix.cfg->fourcc == V4L2_PIX_FMT_GREY) {
> >  			rkisp1_write(cap->rkisp1,
> > -				     cap->buf.dummy.dma_addr,
> > -				     cap->config->mi.cb_base_ad_init);
> > +				     cap->config->mi.cb_base_ad_init,
> > +				     cap->buf.dummy.dma_addr);
> >  			rkisp1_write(cap->rkisp1,
> > -				     cap->buf.dummy.dma_addr,
> > -				     cap->config->mi.cr_base_ad_init);
> > +				     cap->config->mi.cr_base_ad_init,
> > +				     cap->buf.dummy.dma_addr);
> >  		} else {
> >  			rkisp1_write(cap->rkisp1,
> > -				     buff_addr[RKISP1_PLANE_CB],
> > -				     cap->config->mi.cb_base_ad_init);
> > +				     cap->config->mi.cb_base_ad_init,
> > +				     buff_addr[RKISP1_PLANE_CB]);
> >  			rkisp1_write(cap->rkisp1,
> > -				     buff_addr[RKISP1_PLANE_CR],
> > -				     cap->config->mi.cr_base_ad_init);
> > +				     cap->config->mi.cr_base_ad_init,
> > +				     buff_addr[RKISP1_PLANE_CR]);
> >  		}
> >  	} else {
> >  		/*
> >  		 * Use the dummy space allocated by dma_alloc_coherent to
> >  		 * throw data if there is no available buffer.
> >  		 */
> > -		rkisp1_write(cap->rkisp1,
> > -			     cap->buf.dummy.dma_addr,
> > -			     cap->config->mi.y_base_ad_init);
> > -		rkisp1_write(cap->rkisp1,
> > -			     cap->buf.dummy.dma_addr,
> > -			     cap->config->mi.cb_base_ad_init);
> > -		rkisp1_write(cap->rkisp1,
> > -			     cap->buf.dummy.dma_addr,
> > -			     cap->config->mi.cr_base_ad_init);
> > +		rkisp1_write(cap->rkisp1, cap->config->mi.y_base_ad_init,
> > +			     cap->buf.dummy.dma_addr);
> > +		rkisp1_write(cap->rkisp1, cap->config->mi.cb_base_ad_init,
> > +			     cap->buf.dummy.dma_addr);
> > +		rkisp1_write(cap->rkisp1, cap->config->mi.cr_base_ad_init,
> > +			     cap->buf.dummy.dma_addr);
> >  	}
> >  
> >  	/* Set plane offsets */
> > -	rkisp1_write(cap->rkisp1, 0, cap->config->mi.y_offs_cnt_init);
> > -	rkisp1_write(cap->rkisp1, 0, cap->config->mi.cb_offs_cnt_init);
> > -	rkisp1_write(cap->rkisp1, 0, cap->config->mi.cr_offs_cnt_init);
> > +	rkisp1_write(cap->rkisp1, cap->config->mi.y_offs_cnt_init, 0);
> > +	rkisp1_write(cap->rkisp1, cap->config->mi.cb_offs_cnt_init, 0);
> > +	rkisp1_write(cap->rkisp1, cap->config->mi.cr_offs_cnt_init, 0);
> >  }
> >  
> >  /*
> > @@ -710,7 +705,7 @@ irqreturn_t rkisp1_capture_isr(int irq, void *ctx)
> >  	if (!status)
> >  		return IRQ_NONE;
> >  
> > -	rkisp1_write(rkisp1, status, RKISP1_CIF_MI_ICR);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_MI_ICR, status);
> >  
> >  	for (i = 0; i < ARRAY_SIZE(rkisp1->capture_devs); ++i) {
> >  		struct rkisp1_capture *cap = &rkisp1->capture_devs[i];
> > @@ -888,8 +883,8 @@ static void rkisp1_cap_stream_enable(struct rkisp1_capture *cap)
> >  	 */
> >  	if (!other->is_streaming) {
> >  		/* force cfg update */
> > -		rkisp1_write(rkisp1,
> > -			     RKISP1_CIF_MI_INIT_SOFT_UPD, RKISP1_CIF_MI_INIT);
> > +		rkisp1_write(rkisp1, RKISP1_CIF_MI_INIT,
> > +			     RKISP1_CIF_MI_INIT_SOFT_UPD);
> >  		rkisp1_set_next_buf(cap);
> >  	}
> >  	spin_unlock_irq(&cap->buf.lock);
> > diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> > index d8fa3f1a5a85..941580c9c4e0 100644
> > --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> > +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-common.h
> > @@ -425,7 +425,7 @@ struct rkisp1_isp_mbus_info {
> >  };
> >  
> >  static inline void
> > -rkisp1_write(struct rkisp1_device *rkisp1, u32 val, unsigned int addr)
> > +rkisp1_write(struct rkisp1_device *rkisp1, unsigned int addr, u32 val)
> >  {
> >  	writel(val, rkisp1->base_addr + addr);
> >  }
> > diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
> > index 3c77cec568fb..a71074c72be6 100644
> > --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
> > +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
> > @@ -251,20 +251,20 @@ static void rkisp1_config_ism(struct rkisp1_device *rkisp1)
> >  					V4L2_SUBDEV_FORMAT_ACTIVE);
> >  	u32 val;
> >  
> > -	rkisp1_write(rkisp1, 0, RKISP1_CIF_ISP_IS_RECENTER);
> > -	rkisp1_write(rkisp1, 0, RKISP1_CIF_ISP_IS_MAX_DX);
> > -	rkisp1_write(rkisp1, 0, RKISP1_CIF_ISP_IS_MAX_DY);
> > -	rkisp1_write(rkisp1, 0, RKISP1_CIF_ISP_IS_DISPLACE);
> > -	rkisp1_write(rkisp1, src_crop->left, RKISP1_CIF_ISP_IS_H_OFFS);
> > -	rkisp1_write(rkisp1, src_crop->top, RKISP1_CIF_ISP_IS_V_OFFS);
> > -	rkisp1_write(rkisp1, src_crop->width, RKISP1_CIF_ISP_IS_H_SIZE);
> > -	rkisp1_write(rkisp1, src_crop->height, RKISP1_CIF_ISP_IS_V_SIZE);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_ISP_IS_RECENTER, 0);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_ISP_IS_MAX_DX, 0);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_ISP_IS_MAX_DY, 0);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_ISP_IS_DISPLACE, 0);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_ISP_IS_H_OFFS, src_crop->left);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_ISP_IS_V_OFFS, src_crop->top);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_ISP_IS_H_SIZE, src_crop->width);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_ISP_IS_V_SIZE, src_crop->height);
> >  
> >  	/* IS(Image Stabilization) is always on, working as output crop */
> > -	rkisp1_write(rkisp1, 1, RKISP1_CIF_ISP_IS_CTRL);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_ISP_IS_CTRL, 1);
> >  	val = rkisp1_read(rkisp1, RKISP1_CIF_ISP_CTRL);
> >  	val |= RKISP1_CIF_ISP_CTRL_ISP_CFG_UPD;
> > -	rkisp1_write(rkisp1, val, RKISP1_CIF_ISP_CTRL);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_ISP_CTRL, val);
> >  }
> >  
> >  /*
> > @@ -296,8 +296,8 @@ static int rkisp1_config_isp(struct rkisp1_device *rkisp1)
> >  			else
> >  				isp_ctrl = RKISP1_CIF_ISP_CTRL_ISP_MODE_RAW_PICT;
> >  		} else {
> > -			rkisp1_write(rkisp1, RKISP1_CIF_ISP_DEMOSAIC_TH(0xc),
> > -				     RKISP1_CIF_ISP_DEMOSAIC);
> > +			rkisp1_write(rkisp1, RKISP1_CIF_ISP_DEMOSAIC,
> > +				     RKISP1_CIF_ISP_DEMOSAIC_TH(0xc));
> >  
> >  			if (sensor->mbus_type == V4L2_MBUS_BT656)
> >  				isp_ctrl = RKISP1_CIF_ISP_CTRL_ISP_MODE_BAYER_ITU656;
> > @@ -333,29 +333,29 @@ static int rkisp1_config_isp(struct rkisp1_device *rkisp1)
> >  			signal |= RKISP1_CIF_ISP_ACQ_PROP_HSYNC_LOW;
> >  	}
> >  
> > -	rkisp1_write(rkisp1, isp_ctrl, RKISP1_CIF_ISP_CTRL);
> > -	rkisp1_write(rkisp1, signal | sink_fmt->yuv_seq |
> > +	rkisp1_write(rkisp1, RKISP1_CIF_ISP_CTRL, isp_ctrl);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_ISP_ACQ_PROP,
> > +		     signal | sink_fmt->yuv_seq |
> >  		     RKISP1_CIF_ISP_ACQ_PROP_BAYER_PAT(sink_fmt->bayer_pat) |
> > -		     RKISP1_CIF_ISP_ACQ_PROP_FIELD_SEL_ALL,
> > -		     RKISP1_CIF_ISP_ACQ_PROP);
> > -	rkisp1_write(rkisp1, 0, RKISP1_CIF_ISP_ACQ_NR_FRAMES);
> > +		     RKISP1_CIF_ISP_ACQ_PROP_FIELD_SEL_ALL);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_ISP_ACQ_NR_FRAMES, 0);
> >  
> >  	/* Acquisition Size */
> > -	rkisp1_write(rkisp1, 0, RKISP1_CIF_ISP_ACQ_H_OFFS);
> > -	rkisp1_write(rkisp1, 0, RKISP1_CIF_ISP_ACQ_V_OFFS);
> > -	rkisp1_write(rkisp1,
> > -		     acq_mult * sink_frm->width, RKISP1_CIF_ISP_ACQ_H_SIZE);
> > -	rkisp1_write(rkisp1, sink_frm->height, RKISP1_CIF_ISP_ACQ_V_SIZE);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_ISP_ACQ_H_OFFS, 0);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_ISP_ACQ_V_OFFS, 0);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_ISP_ACQ_H_SIZE,
> > +		     acq_mult * sink_frm->width);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_ISP_ACQ_V_SIZE, sink_frm->height);
> >  
> >  	/* ISP Out Area */
> > -	rkisp1_write(rkisp1, sink_crop->left, RKISP1_CIF_ISP_OUT_H_OFFS);
> > -	rkisp1_write(rkisp1, sink_crop->top, RKISP1_CIF_ISP_OUT_V_OFFS);
> > -	rkisp1_write(rkisp1, sink_crop->width, RKISP1_CIF_ISP_OUT_H_SIZE);
> > -	rkisp1_write(rkisp1, sink_crop->height, RKISP1_CIF_ISP_OUT_V_SIZE);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_ISP_OUT_H_OFFS, sink_crop->left);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_ISP_OUT_V_OFFS, sink_crop->top);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_ISP_OUT_H_SIZE, sink_crop->width);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_ISP_OUT_V_SIZE, sink_crop->height);
> >  
> >  	irq_mask |= RKISP1_CIF_ISP_FRAME | RKISP1_CIF_ISP_V_START |
> >  		    RKISP1_CIF_ISP_PIC_SIZE_ERROR;
> > -	rkisp1_write(rkisp1, irq_mask, RKISP1_CIF_ISP_IMSC);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_ISP_IMSC, irq_mask);
> >  
> >  	if (src_fmt->pixel_enc == V4L2_PIXEL_ENC_BAYER) {
> >  		rkisp1_params_disable(&rkisp1->params);
> > @@ -393,7 +393,7 @@ static int rkisp1_config_dvp(struct rkisp1_device *rkisp1)
> >  	}
> >  
> >  	val = rkisp1_read(rkisp1, RKISP1_CIF_ISP_ACQ_PROP);
> > -	rkisp1_write(rkisp1, val | input_sel, RKISP1_CIF_ISP_ACQ_PROP);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_ISP_ACQ_PROP, val | input_sel);
> >  
> >  	return 0;
> >  }
> > @@ -412,30 +412,28 @@ static int rkisp1_config_mipi(struct rkisp1_device *rkisp1)
> >  		    RKISP1_CIF_MIPI_CTRL_ERR_SOT_SYNC_HS_SKIP |
> >  		    RKISP1_CIF_MIPI_CTRL_CLOCKLANE_ENA;
> >  
> > -	rkisp1_write(rkisp1, mipi_ctrl, RKISP1_CIF_MIPI_CTRL);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_MIPI_CTRL, mipi_ctrl);
> >  
> >  	/* V12 could also use a newer csi2-host, but we don't want that yet */
> >  	if (rkisp1->media_dev.hw_revision == RKISP1_V12)
> > -		rkisp1_write(rkisp1, 0, RKISP1_CIF_ISP_CSI0_CTRL0);
> > +		rkisp1_write(rkisp1, RKISP1_CIF_ISP_CSI0_CTRL0, 0);
> >  
> >  	/* Configure Data Type and Virtual Channel */
> > -	rkisp1_write(rkisp1,
> > +	rkisp1_write(rkisp1, RKISP1_CIF_MIPI_IMG_DATA_SEL,
> >  		     RKISP1_CIF_MIPI_DATA_SEL_DT(sink_fmt->mipi_dt) |
> > -		     RKISP1_CIF_MIPI_DATA_SEL_VC(0),
> > -		     RKISP1_CIF_MIPI_IMG_DATA_SEL);
> > +		     RKISP1_CIF_MIPI_DATA_SEL_VC(0));
> >  
> >  	/* Clear MIPI interrupts */
> > -	rkisp1_write(rkisp1, ~0, RKISP1_CIF_MIPI_ICR);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_MIPI_ICR, ~0);
> >  	/*
> >  	 * Disable RKISP1_CIF_MIPI_ERR_DPHY interrupt here temporary for
> >  	 * isp bus may be dead when switch isp.
> >  	 */
> > -	rkisp1_write(rkisp1,
> > +	rkisp1_write(rkisp1, RKISP1_CIF_MIPI_IMSC,
> >  		     RKISP1_CIF_MIPI_FRAME_END | RKISP1_CIF_MIPI_ERR_CSI |
> >  		     RKISP1_CIF_MIPI_ERR_DPHY |
> >  		     RKISP1_CIF_MIPI_SYNC_FIFO_OVFLW(0x03) |
> > -		     RKISP1_CIF_MIPI_ADD_DATA_OVFLW,
> > -		     RKISP1_CIF_MIPI_IMSC);
> > +		     RKISP1_CIF_MIPI_ADD_DATA_OVFLW);
> >  
> >  	dev_dbg(rkisp1->dev, "\n  MIPI_CTRL 0x%08x\n"
> >  		"  MIPI_IMG_DATA_SEL 0x%08x\n"
> > @@ -465,7 +463,7 @@ static int rkisp1_config_path(struct rkisp1_device *rkisp1)
> >  		dpcl |= RKISP1_CIF_VI_DPCL_IF_SEL_MIPI;
> >  	}
> >  
> > -	rkisp1_write(rkisp1, dpcl, RKISP1_CIF_VI_DPCL);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_VI_DPCL, dpcl);
> >  
> >  	return ret;
> >  }
> > @@ -499,34 +497,33 @@ static void rkisp1_isp_stop(struct rkisp1_device *rkisp1)
> >  	 * Stop ISP(isp) ->wait for ISP isp off
> >  	 */
> >  	/* stop and clear MI, MIPI, and ISP interrupts */
> > -	rkisp1_write(rkisp1, 0, RKISP1_CIF_MIPI_IMSC);
> > -	rkisp1_write(rkisp1, ~0, RKISP1_CIF_MIPI_ICR);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_MIPI_IMSC, 0);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_MIPI_ICR, ~0);
> >  
> > -	rkisp1_write(rkisp1, 0, RKISP1_CIF_ISP_IMSC);
> > -	rkisp1_write(rkisp1, ~0, RKISP1_CIF_ISP_ICR);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_ISP_IMSC, 0);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_ISP_ICR, ~0);
> >  
> > -	rkisp1_write(rkisp1, 0, RKISP1_CIF_MI_IMSC);
> > -	rkisp1_write(rkisp1, ~0, RKISP1_CIF_MI_ICR);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_MI_IMSC, 0);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_MI_ICR, ~0);
> >  	val = rkisp1_read(rkisp1, RKISP1_CIF_MIPI_CTRL);
> > -	rkisp1_write(rkisp1, val & (~RKISP1_CIF_MIPI_CTRL_OUTPUT_ENA),
> > -		     RKISP1_CIF_MIPI_CTRL);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_MIPI_CTRL,
> > +		     val & (~RKISP1_CIF_MIPI_CTRL_OUTPUT_ENA));
> >  	/* stop ISP */
> >  	val = rkisp1_read(rkisp1, RKISP1_CIF_ISP_CTRL);
> >  	val &= ~(RKISP1_CIF_ISP_CTRL_ISP_INFORM_ENABLE |
> >  		 RKISP1_CIF_ISP_CTRL_ISP_ENABLE);
> > -	rkisp1_write(rkisp1, val, RKISP1_CIF_ISP_CTRL);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_ISP_CTRL, val);
> >  
> >  	val = rkisp1_read(rkisp1,	RKISP1_CIF_ISP_CTRL);
> > -	rkisp1_write(rkisp1, val | RKISP1_CIF_ISP_CTRL_ISP_CFG_UPD,
> > -		     RKISP1_CIF_ISP_CTRL);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_ISP_CTRL,
> > +		     val | RKISP1_CIF_ISP_CTRL_ISP_CFG_UPD);
> >  
> >  	readx_poll_timeout(readl, rkisp1->base_addr + RKISP1_CIF_ISP_RIS,
> >  			   val, val & RKISP1_CIF_ISP_OFF, 20, 100);
> > -	rkisp1_write(rkisp1,
> > +	rkisp1_write(rkisp1, RKISP1_CIF_VI_IRCL,
> >  		     RKISP1_CIF_VI_IRCL_MIPI_SW_RST |
> > -		     RKISP1_CIF_VI_IRCL_ISP_SW_RST,
> > -		     RKISP1_CIF_VI_IRCL);
> > -	rkisp1_write(rkisp1, 0x0, RKISP1_CIF_VI_IRCL);
> > +		     RKISP1_CIF_VI_IRCL_ISP_SW_RST);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_VI_IRCL, 0x0);
> >  }
> >  
> >  static void rkisp1_config_clk(struct rkisp1_device *rkisp1)
> > @@ -537,7 +534,7 @@ static void rkisp1_config_clk(struct rkisp1_device *rkisp1)
> >  		  RKISP1_CIF_VI_ICCL_IE_CLK | RKISP1_CIF_VI_ICCL_MIPI_CLK |
> >  		  RKISP1_CIF_VI_ICCL_DCROP_CLK;
> >  
> > -	rkisp1_write(rkisp1, val, RKISP1_CIF_VI_ICCL);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_VI_ICCL, val);
> >  
> >  	/* ensure sp and mp can run at the same time in V12 */
> >  	if (rkisp1->media_dev.hw_revision == RKISP1_V12) {
> > @@ -545,7 +542,7 @@ static void rkisp1_config_clk(struct rkisp1_device *rkisp1)
> >  		      RKISP1_CIF_CLK_CTRL_MI_RAW0 | RKISP1_CIF_CLK_CTRL_MI_RAW1 |
> >  		      RKISP1_CIF_CLK_CTRL_MI_READ | RKISP1_CIF_CLK_CTRL_MI_RAWRD |
> >  		      RKISP1_CIF_CLK_CTRL_CP | RKISP1_CIF_CLK_CTRL_IE;
> > -		rkisp1_write(rkisp1, val, RKISP1_CIF_VI_ISP_CLK_CTRL_V12);
> > +		rkisp1_write(rkisp1, RKISP1_CIF_VI_ISP_CLK_CTRL_V12, val);
> >  	}
> >  }
> >  
> > @@ -559,15 +556,15 @@ static void rkisp1_isp_start(struct rkisp1_device *rkisp1)
> >  	/* Activate MIPI */
> >  	if (sensor->mbus_type == V4L2_MBUS_CSI2_DPHY) {
> >  		val = rkisp1_read(rkisp1, RKISP1_CIF_MIPI_CTRL);
> > -		rkisp1_write(rkisp1, val | RKISP1_CIF_MIPI_CTRL_OUTPUT_ENA,
> > -			     RKISP1_CIF_MIPI_CTRL);
> > +		rkisp1_write(rkisp1, RKISP1_CIF_MIPI_CTRL,
> > +			     val | RKISP1_CIF_MIPI_CTRL_OUTPUT_ENA);
> >  	}
> >  	/* Activate ISP */
> >  	val = rkisp1_read(rkisp1, RKISP1_CIF_ISP_CTRL);
> >  	val |= RKISP1_CIF_ISP_CTRL_ISP_CFG_UPD |
> >  	       RKISP1_CIF_ISP_CTRL_ISP_ENABLE |
> >  	       RKISP1_CIF_ISP_CTRL_ISP_INFORM_ENABLE;
> > -	rkisp1_write(rkisp1, val, RKISP1_CIF_ISP_CTRL);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_ISP_CTRL, val);
> >  
> >  	/*
> >  	 * CIF spec says to wait for sufficient time after enabling
> > @@ -1136,7 +1133,7 @@ irqreturn_t rkisp1_mipi_isr(int irq, void *ctx)
> >  	if (!status)
> >  		return IRQ_NONE;
> >  
> > -	rkisp1_write(rkisp1, status, RKISP1_CIF_MIPI_ICR);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_MIPI_ICR, status);
> >  
> >  	/*
> >  	 * Disable DPHY errctrl interrupt, because this dphy
> > @@ -1146,8 +1143,8 @@ irqreturn_t rkisp1_mipi_isr(int irq, void *ctx)
> >  	 */
> >  	if (status & RKISP1_CIF_MIPI_ERR_CTRL(0x0f)) {
> >  		val = rkisp1_read(rkisp1, RKISP1_CIF_MIPI_IMSC);
> > -		rkisp1_write(rkisp1, val & ~RKISP1_CIF_MIPI_ERR_CTRL(0x0f),
> > -			     RKISP1_CIF_MIPI_IMSC);
> > +		rkisp1_write(rkisp1, RKISP1_CIF_MIPI_IMSC,
> > +			     val & ~RKISP1_CIF_MIPI_ERR_CTRL(0x0f));
> >  		rkisp1->isp.is_dphy_errctrl_disabled = true;
> >  	}
> >  
> > @@ -1163,7 +1160,7 @@ irqreturn_t rkisp1_mipi_isr(int irq, void *ctx)
> >  		if (rkisp1->isp.is_dphy_errctrl_disabled) {
> >  			val = rkisp1_read(rkisp1, RKISP1_CIF_MIPI_IMSC);
> >  			val |= RKISP1_CIF_MIPI_ERR_CTRL(0x0f);
> > -			rkisp1_write(rkisp1, val, RKISP1_CIF_MIPI_IMSC);
> > +			rkisp1_write(rkisp1, RKISP1_CIF_MIPI_IMSC, val);
> >  			rkisp1->isp.is_dphy_errctrl_disabled = false;
> >  		}
> >  	} else {
> > @@ -1193,7 +1190,7 @@ irqreturn_t rkisp1_isp_isr(int irq, void *ctx)
> >  	if (!status)
> >  		return IRQ_NONE;
> >  
> > -	rkisp1_write(rkisp1, status, RKISP1_CIF_ISP_ICR);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_ISP_ICR, status);
> >  
> >  	/* Vertical sync signal, starting generating new frame */
> >  	if (status & RKISP1_CIF_ISP_V_START) {
> > @@ -1213,7 +1210,7 @@ irqreturn_t rkisp1_isp_isr(int irq, void *ctx)
> >  			rkisp1->debug.img_stabilization_size_error++;
> >  		if (isp_err & RKISP1_CIF_ISP_ERR_OUTFORM_SIZE)
> >  			rkisp1->debug.outform_size_error++;
> > -		rkisp1_write(rkisp1, isp_err, RKISP1_CIF_ISP_ERR_CLR);
> > +		rkisp1_write(rkisp1, RKISP1_CIF_ISP_ERR_CLR, isp_err);
> >  	} else if (status & RKISP1_CIF_ISP_DATA_LOSS) {
> >  		/* keep track of data_loss in debugfs */
> >  		rkisp1->debug.data_loss++;
> > diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-params.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-params.c
> > index cb5840b5d974..c88a9c0fa86e 100644
> > --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-params.c
> > +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-params.c
> > @@ -37,7 +37,7 @@ rkisp1_param_set_bits(struct rkisp1_params *params, u32 reg, u32 bit_mask)
> >  	u32 val;
> >  
> >  	val = rkisp1_read(params->rkisp1, reg);
> > -	rkisp1_write(params->rkisp1, val | bit_mask, reg);
> > +	rkisp1_write(params->rkisp1, reg, val | bit_mask);
> >  }
> >  
> >  static inline void
> > @@ -46,7 +46,7 @@ rkisp1_param_clear_bits(struct rkisp1_params *params, u32 reg, u32 bit_mask)
> >  	u32 val;
> >  
> >  	val = rkisp1_read(params->rkisp1, reg);
> > -	rkisp1_write(params->rkisp1, val & ~bit_mask, reg);
> > +	rkisp1_write(params->rkisp1, reg, val & ~bit_mask);
> >  }
> >  
> >  /* ISP BP interface function */
> > @@ -60,35 +60,35 @@ static void rkisp1_dpcc_config(struct rkisp1_params *params,
> >  	mode = rkisp1_read(params->rkisp1, RKISP1_CIF_ISP_DPCC_MODE);
> >  	mode &= RKISP1_CIF_ISP_DPCC_ENA;
> >  	mode |= arg->mode & ~RKISP1_CIF_ISP_DPCC_ENA;
> > -	rkisp1_write(params->rkisp1, mode, RKISP1_CIF_ISP_DPCC_MODE);
> > -	rkisp1_write(params->rkisp1, arg->output_mode,
> > -		     RKISP1_CIF_ISP_DPCC_OUTPUT_MODE);
> > -	rkisp1_write(params->rkisp1, arg->set_use,
> > -		     RKISP1_CIF_ISP_DPCC_SET_USE);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPCC_MODE, mode);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPCC_OUTPUT_MODE,
> > +		     arg->output_mode);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPCC_SET_USE,
> > +		     arg->set_use);
> >  
> > -	rkisp1_write(params->rkisp1, arg->methods[0].method,
> > -		     RKISP1_CIF_ISP_DPCC_METHODS_SET_1);
> > -	rkisp1_write(params->rkisp1, arg->methods[1].method,
> > -		     RKISP1_CIF_ISP_DPCC_METHODS_SET_2);
> > -	rkisp1_write(params->rkisp1, arg->methods[2].method,
> > -		     RKISP1_CIF_ISP_DPCC_METHODS_SET_3);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPCC_METHODS_SET_1,
> > +		     arg->methods[0].method);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPCC_METHODS_SET_2,
> > +		     arg->methods[1].method);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPCC_METHODS_SET_3,
> > +		     arg->methods[2].method);
> >  	for (i = 0; i < RKISP1_CIF_ISP_DPCC_METHODS_MAX; i++) {
> > -		rkisp1_write(params->rkisp1, arg->methods[i].line_thresh,
> > -			     RKISP1_ISP_DPCC_LINE_THRESH(i));
> > -		rkisp1_write(params->rkisp1, arg->methods[i].line_mad_fac,
> > -			     RKISP1_ISP_DPCC_LINE_MAD_FAC(i));
> > -		rkisp1_write(params->rkisp1, arg->methods[i].pg_fac,
> > -			     RKISP1_ISP_DPCC_PG_FAC(i));
> > -		rkisp1_write(params->rkisp1, arg->methods[i].rnd_thresh,
> > -			     RKISP1_ISP_DPCC_RND_THRESH(i));
> > -		rkisp1_write(params->rkisp1, arg->methods[i].rg_fac,
> > -			     RKISP1_ISP_DPCC_RG_FAC(i));
> > +		rkisp1_write(params->rkisp1, RKISP1_ISP_DPCC_LINE_THRESH(i),
> > +			     arg->methods[i].line_thresh);
> > +		rkisp1_write(params->rkisp1, RKISP1_ISP_DPCC_LINE_MAD_FAC(i),
> > +			     arg->methods[i].line_mad_fac);
> > +		rkisp1_write(params->rkisp1, RKISP1_ISP_DPCC_PG_FAC(i),
> > +			     arg->methods[i].pg_fac);
> > +		rkisp1_write(params->rkisp1, RKISP1_ISP_DPCC_RND_THRESH(i),
> > +			     arg->methods[i].rnd_thresh);
> > +		rkisp1_write(params->rkisp1, RKISP1_ISP_DPCC_RG_FAC(i),
> > +			     arg->methods[i].rg_fac);
> >  	}
> >  
> > -	rkisp1_write(params->rkisp1, arg->rnd_offs,
> > -		     RKISP1_CIF_ISP_DPCC_RND_OFFS);
> > -	rkisp1_write(params->rkisp1, arg->ro_limits,
> > -		     RKISP1_CIF_ISP_DPCC_RO_LIMITS);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPCC_RND_OFFS,
> > +		     arg->rnd_offs);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPCC_RO_LIMITS,
> > +		     arg->ro_limits);
> >  }
> >  
> >  /* ISP black level subtraction interface function */
> > @@ -107,44 +107,44 @@ static void rkisp1_bls_config(struct rkisp1_params *params,
> >  
> >  		switch (params->raw_type) {
> >  		case RKISP1_RAW_BGGR:
> > -			rkisp1_write(params->rkisp1,
> > -				     pval->r, RKISP1_CIF_ISP_BLS_D_FIXED);
> > -			rkisp1_write(params->rkisp1,
> > -				     pval->gr, RKISP1_CIF_ISP_BLS_C_FIXED);
> > -			rkisp1_write(params->rkisp1,
> > -				     pval->gb, RKISP1_CIF_ISP_BLS_B_FIXED);
> > -			rkisp1_write(params->rkisp1,
> > -				     pval->b, RKISP1_CIF_ISP_BLS_A_FIXED);
> > +			rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_D_FIXED,
> > +				     pval->r);
> > +			rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_C_FIXED,
> > +				     pval->gr);
> > +			rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_B_FIXED,
> > +				     pval->gb);
> > +			rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_A_FIXED,
> > +				     pval->b);
> >  			break;
> >  		case RKISP1_RAW_GBRG:
> > -			rkisp1_write(params->rkisp1,
> > -				     pval->r, RKISP1_CIF_ISP_BLS_C_FIXED);
> > -			rkisp1_write(params->rkisp1,
> > -				     pval->gr, RKISP1_CIF_ISP_BLS_D_FIXED);
> > -			rkisp1_write(params->rkisp1,
> > -				     pval->gb, RKISP1_CIF_ISP_BLS_A_FIXED);
> > -			rkisp1_write(params->rkisp1,
> > -				     pval->b, RKISP1_CIF_ISP_BLS_B_FIXED);
> > +			rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_C_FIXED,
> > +				     pval->r);
> > +			rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_D_FIXED,
> > +				     pval->gr);
> > +			rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_A_FIXED,
> > +				     pval->gb);
> > +			rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_B_FIXED,
> > +				     pval->b);
> >  			break;
> >  		case RKISP1_RAW_GRBG:
> > -			rkisp1_write(params->rkisp1,
> > -				     pval->r, RKISP1_CIF_ISP_BLS_B_FIXED);
> > -			rkisp1_write(params->rkisp1,
> > -				     pval->gr, RKISP1_CIF_ISP_BLS_A_FIXED);
> > -			rkisp1_write(params->rkisp1,
> > -				     pval->gb, RKISP1_CIF_ISP_BLS_D_FIXED);
> > -			rkisp1_write(params->rkisp1,
> > -				     pval->b, RKISP1_CIF_ISP_BLS_C_FIXED);
> > +			rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_B_FIXED,
> > +				     pval->r);
> > +			rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_A_FIXED,
> > +				     pval->gr);
> > +			rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_D_FIXED,
> > +				     pval->gb);
> > +			rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_C_FIXED,
> > +				     pval->b);
> >  			break;
> >  		case RKISP1_RAW_RGGB:
> > -			rkisp1_write(params->rkisp1,
> > -				     pval->r, RKISP1_CIF_ISP_BLS_A_FIXED);
> > -			rkisp1_write(params->rkisp1,
> > -				     pval->gr, RKISP1_CIF_ISP_BLS_B_FIXED);
> > -			rkisp1_write(params->rkisp1,
> > -				     pval->gb, RKISP1_CIF_ISP_BLS_C_FIXED);
> > -			rkisp1_write(params->rkisp1,
> > -				     pval->b, RKISP1_CIF_ISP_BLS_D_FIXED);
> > +			rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_A_FIXED,
> > +				     pval->r);
> > +			rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_B_FIXED,
> > +				     pval->gr);
> > +			rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_C_FIXED,
> > +				     pval->gb);
> > +			rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_D_FIXED,
> > +				     pval->b);
> >  			break;
> >  		default:
> >  			break;
> > @@ -152,35 +152,35 @@ static void rkisp1_bls_config(struct rkisp1_params *params,
> >  
> >  	} else {
> >  		if (arg->en_windows & BIT(1)) {
> > -			rkisp1_write(params->rkisp1, arg->bls_window2.h_offs,
> > -				     RKISP1_CIF_ISP_BLS_H2_START);
> > -			rkisp1_write(params->rkisp1, arg->bls_window2.h_size,
> > -				     RKISP1_CIF_ISP_BLS_H2_STOP);
> > -			rkisp1_write(params->rkisp1, arg->bls_window2.v_offs,
> > -				     RKISP1_CIF_ISP_BLS_V2_START);
> > -			rkisp1_write(params->rkisp1, arg->bls_window2.v_size,
> > -				     RKISP1_CIF_ISP_BLS_V2_STOP);
> > +			rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_H2_START,
> > +				     arg->bls_window2.h_offs);
> > +			rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_H2_STOP,
> > +				     arg->bls_window2.h_size);
> > +			rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_V2_START,
> > +				     arg->bls_window2.v_offs);
> > +			rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_V2_STOP,
> > +				     arg->bls_window2.v_size);
> >  			new_control |= RKISP1_CIF_ISP_BLS_WINDOW_2;
> >  		}
> >  
> >  		if (arg->en_windows & BIT(0)) {
> > -			rkisp1_write(params->rkisp1, arg->bls_window1.h_offs,
> > -				     RKISP1_CIF_ISP_BLS_H1_START);
> > -			rkisp1_write(params->rkisp1, arg->bls_window1.h_size,
> > -				     RKISP1_CIF_ISP_BLS_H1_STOP);
> > -			rkisp1_write(params->rkisp1, arg->bls_window1.v_offs,
> > -				     RKISP1_CIF_ISP_BLS_V1_START);
> > -			rkisp1_write(params->rkisp1, arg->bls_window1.v_size,
> > -				     RKISP1_CIF_ISP_BLS_V1_STOP);
> > +			rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_H1_START,
> > +				     arg->bls_window1.h_offs);
> > +			rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_H1_STOP,
> > +				     arg->bls_window1.h_size);
> > +			rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_V1_START,
> > +				     arg->bls_window1.v_offs);
> > +			rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_V1_STOP,
> > +				     arg->bls_window1.v_size);
> >  			new_control |= RKISP1_CIF_ISP_BLS_WINDOW_1;
> >  		}
> >  
> > -		rkisp1_write(params->rkisp1, arg->bls_samples,
> > -			     RKISP1_CIF_ISP_BLS_SAMPLES);
> > +		rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_SAMPLES,
> > +			     arg->bls_samples);
> >  
> >  		new_control |= RKISP1_CIF_ISP_BLS_MODE_MEASURED;
> >  	}
> > -	rkisp1_write(params->rkisp1, new_control, RKISP1_CIF_ISP_BLS_CTRL);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_BLS_CTRL, new_control);
> >  }
> >  
> >  /* ISP LS correction interface function */
> > @@ -196,14 +196,10 @@ rkisp1_lsc_matrix_config_v10(struct rkisp1_params *params,
> >  	sram_addr = (isp_lsc_status & RKISP1_CIF_ISP_LSC_ACTIVE_TABLE) ?
> >  		    RKISP1_CIF_ISP_LSC_TABLE_ADDRESS_0 :
> >  		    RKISP1_CIF_ISP_LSC_TABLE_ADDRESS_153;
> > -	rkisp1_write(params->rkisp1, sram_addr,
> > -		     RKISP1_CIF_ISP_LSC_R_TABLE_ADDR);
> > -	rkisp1_write(params->rkisp1, sram_addr,
> > -		     RKISP1_CIF_ISP_LSC_GR_TABLE_ADDR);
> > -	rkisp1_write(params->rkisp1, sram_addr,
> > -		     RKISP1_CIF_ISP_LSC_GB_TABLE_ADDR);
> > -	rkisp1_write(params->rkisp1, sram_addr,
> > -		     RKISP1_CIF_ISP_LSC_B_TABLE_ADDR);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_LSC_R_TABLE_ADDR, sram_addr);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_LSC_GR_TABLE_ADDR, sram_addr);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_LSC_GB_TABLE_ADDR, sram_addr);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_LSC_B_TABLE_ADDR, sram_addr);
> >  
> >  	/* program data tables (table size is 9 * 17 = 153) */
> >  	for (i = 0; i < RKISP1_CIF_ISP_LSC_SAMPLES_MAX; i++) {
> > @@ -214,45 +210,45 @@ rkisp1_lsc_matrix_config_v10(struct rkisp1_params *params,
> >  		for (j = 0; j < RKISP1_CIF_ISP_LSC_SAMPLES_MAX - 1; j += 2) {
> >  			data = RKISP1_CIF_ISP_LSC_TABLE_DATA_V10(pconfig->r_data_tbl[i][j],
> >  								 pconfig->r_data_tbl[i][j + 1]);
> > -			rkisp1_write(params->rkisp1, data,
> > -				     RKISP1_CIF_ISP_LSC_R_TABLE_DATA);
> > +			rkisp1_write(params->rkisp1,
> > +				     RKISP1_CIF_ISP_LSC_R_TABLE_DATA, data);
> >  
> >  			data = RKISP1_CIF_ISP_LSC_TABLE_DATA_V10(pconfig->gr_data_tbl[i][j],
> >  								 pconfig->gr_data_tbl[i][j + 1]);
> > -			rkisp1_write(params->rkisp1, data,
> > -				     RKISP1_CIF_ISP_LSC_GR_TABLE_DATA);
> > +			rkisp1_write(params->rkisp1,
> > +				     RKISP1_CIF_ISP_LSC_GR_TABLE_DATA, data);
> >  
> >  			data = RKISP1_CIF_ISP_LSC_TABLE_DATA_V10(pconfig->gb_data_tbl[i][j],
> >  								 pconfig->gb_data_tbl[i][j + 1]);
> > -			rkisp1_write(params->rkisp1, data,
> > -				     RKISP1_CIF_ISP_LSC_GB_TABLE_DATA);
> > +			rkisp1_write(params->rkisp1,
> > +				     RKISP1_CIF_ISP_LSC_GB_TABLE_DATA, data);
> >  
> >  			data = RKISP1_CIF_ISP_LSC_TABLE_DATA_V10(pconfig->b_data_tbl[i][j],
> >  								 pconfig->b_data_tbl[i][j + 1]);
> > -			rkisp1_write(params->rkisp1, data,
> > -				     RKISP1_CIF_ISP_LSC_B_TABLE_DATA);
> > +			rkisp1_write(params->rkisp1,
> > +				     RKISP1_CIF_ISP_LSC_B_TABLE_DATA, data);
> >  		}
> >  		data = RKISP1_CIF_ISP_LSC_TABLE_DATA_V10(pconfig->r_data_tbl[i][j], 0);
> > -		rkisp1_write(params->rkisp1, data,
> > -			     RKISP1_CIF_ISP_LSC_R_TABLE_DATA);
> > +		rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_LSC_R_TABLE_DATA,
> > +			     data);
> >  
> >  		data = RKISP1_CIF_ISP_LSC_TABLE_DATA_V10(pconfig->gr_data_tbl[i][j], 0);
> > -		rkisp1_write(params->rkisp1, data,
> > -			     RKISP1_CIF_ISP_LSC_GR_TABLE_DATA);
> > +		rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_LSC_GR_TABLE_DATA,
> > +			     data);
> >  
> >  		data = RKISP1_CIF_ISP_LSC_TABLE_DATA_V10(pconfig->gb_data_tbl[i][j], 0);
> > -		rkisp1_write(params->rkisp1, data,
> > -			     RKISP1_CIF_ISP_LSC_GB_TABLE_DATA);
> > +		rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_LSC_GB_TABLE_DATA,
> > +			     data);
> >  
> >  		data = RKISP1_CIF_ISP_LSC_TABLE_DATA_V10(pconfig->b_data_tbl[i][j], 0);
> > -		rkisp1_write(params->rkisp1, data,
> > -			     RKISP1_CIF_ISP_LSC_B_TABLE_DATA);
> > +		rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_LSC_B_TABLE_DATA,
> > +			     data);
> >  	}
> >  	isp_lsc_table_sel = (isp_lsc_status & RKISP1_CIF_ISP_LSC_ACTIVE_TABLE) ?
> >  			    RKISP1_CIF_ISP_LSC_TABLE_0 :
> >  			    RKISP1_CIF_ISP_LSC_TABLE_1;
> > -	rkisp1_write(params->rkisp1, isp_lsc_table_sel,
> > -		     RKISP1_CIF_ISP_LSC_TABLE_SEL);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_LSC_TABLE_SEL,
> > +		     isp_lsc_table_sel);
> >  }
> >  
> >  static void
> > @@ -267,10 +263,10 @@ rkisp1_lsc_matrix_config_v12(struct rkisp1_params *params,
> >  	sram_addr = (isp_lsc_status & RKISP1_CIF_ISP_LSC_ACTIVE_TABLE) ?
> >  		     RKISP1_CIF_ISP_LSC_TABLE_ADDRESS_0 :
> >  		     RKISP1_CIF_ISP_LSC_TABLE_ADDRESS_153;
> > -	rkisp1_write(params->rkisp1, sram_addr, RKISP1_CIF_ISP_LSC_R_TABLE_ADDR);
> > -	rkisp1_write(params->rkisp1, sram_addr, RKISP1_CIF_ISP_LSC_GR_TABLE_ADDR);
> > -	rkisp1_write(params->rkisp1, sram_addr, RKISP1_CIF_ISP_LSC_GB_TABLE_ADDR);
> > -	rkisp1_write(params->rkisp1, sram_addr, RKISP1_CIF_ISP_LSC_B_TABLE_ADDR);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_LSC_R_TABLE_ADDR, sram_addr);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_LSC_GR_TABLE_ADDR, sram_addr);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_LSC_GB_TABLE_ADDR, sram_addr);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_LSC_B_TABLE_ADDR, sram_addr);
> >  
> >  	/* program data tables (table size is 9 * 17 = 153) */
> >  	for (i = 0; i < RKISP1_CIF_ISP_LSC_SAMPLES_MAX; i++) {
> > @@ -282,49 +278,49 @@ rkisp1_lsc_matrix_config_v12(struct rkisp1_params *params,
> >  			data = RKISP1_CIF_ISP_LSC_TABLE_DATA_V12(
> >  					pconfig->r_data_tbl[i][j],
> >  					pconfig->r_data_tbl[i][j + 1]);
> > -			rkisp1_write(params->rkisp1, data,
> > -				     RKISP1_CIF_ISP_LSC_R_TABLE_DATA);
> > +			rkisp1_write(params->rkisp1,
> > +				     RKISP1_CIF_ISP_LSC_R_TABLE_DATA, data);
> >  
> >  			data = RKISP1_CIF_ISP_LSC_TABLE_DATA_V12(
> >  					pconfig->gr_data_tbl[i][j],
> >  					pconfig->gr_data_tbl[i][j + 1]);
> > -			rkisp1_write(params->rkisp1, data,
> > -				     RKISP1_CIF_ISP_LSC_GR_TABLE_DATA);
> > +			rkisp1_write(params->rkisp1,
> > +				     RKISP1_CIF_ISP_LSC_GR_TABLE_DATA, data);
> >  
> >  			data = RKISP1_CIF_ISP_LSC_TABLE_DATA_V12(
> >  					pconfig->gb_data_tbl[i][j],
> >  					pconfig->gb_data_tbl[i][j + 1]);
> > -			rkisp1_write(params->rkisp1, data,
> > -				     RKISP1_CIF_ISP_LSC_GB_TABLE_DATA);
> > +			rkisp1_write(params->rkisp1,
> > +				     RKISP1_CIF_ISP_LSC_GB_TABLE_DATA, data);
> >  
> >  			data = RKISP1_CIF_ISP_LSC_TABLE_DATA_V12(
> >  					pconfig->b_data_tbl[i][j],
> >  					pconfig->b_data_tbl[i][j + 1]);
> > -			rkisp1_write(params->rkisp1, data,
> > -				     RKISP1_CIF_ISP_LSC_B_TABLE_DATA);
> > +			rkisp1_write(params->rkisp1,
> > +				     RKISP1_CIF_ISP_LSC_B_TABLE_DATA, data);
> >  		}
> >  
> >  		data = RKISP1_CIF_ISP_LSC_TABLE_DATA_V12(pconfig->r_data_tbl[i][j], 0);
> > -		rkisp1_write(params->rkisp1, data,
> > -			     RKISP1_CIF_ISP_LSC_R_TABLE_DATA);
> > +		rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_LSC_R_TABLE_DATA,
> > +			     data);
> >  
> >  		data = RKISP1_CIF_ISP_LSC_TABLE_DATA_V12(pconfig->gr_data_tbl[i][j], 0);
> > -		rkisp1_write(params->rkisp1, data,
> > -			     RKISP1_CIF_ISP_LSC_GR_TABLE_DATA);
> > +		rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_LSC_GR_TABLE_DATA,
> > +			     data);
> >  
> >  		data = RKISP1_CIF_ISP_LSC_TABLE_DATA_V12(pconfig->gb_data_tbl[i][j], 0);
> > -		rkisp1_write(params->rkisp1, data,
> > -			     RKISP1_CIF_ISP_LSC_GB_TABLE_DATA);
> > +		rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_LSC_GB_TABLE_DATA,
> > +			     data);
> >  
> >  		data = RKISP1_CIF_ISP_LSC_TABLE_DATA_V12(pconfig->b_data_tbl[i][j], 0);
> > -		rkisp1_write(params->rkisp1, data,
> > -			     RKISP1_CIF_ISP_LSC_B_TABLE_DATA);
> > +		rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_LSC_B_TABLE_DATA,
> > +			     data);
> >  	}
> >  	isp_lsc_table_sel = (isp_lsc_status & RKISP1_CIF_ISP_LSC_ACTIVE_TABLE) ?
> >  			    RKISP1_CIF_ISP_LSC_TABLE_0 :
> >  			    RKISP1_CIF_ISP_LSC_TABLE_1;
> > -	rkisp1_write(params->rkisp1, isp_lsc_table_sel,
> > -		     RKISP1_CIF_ISP_LSC_TABLE_SEL);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_LSC_TABLE_SEL,
> > +		     isp_lsc_table_sel);
> >  }
> >  
> >  static void rkisp1_lsc_config(struct rkisp1_params *params,
> > @@ -343,26 +339,26 @@ static void rkisp1_lsc_config(struct rkisp1_params *params,
> >  		/* program x size tables */
> >  		data = RKISP1_CIF_ISP_LSC_SECT_SIZE(arg->x_size_tbl[i * 2],
> >  						    arg->x_size_tbl[i * 2 + 1]);
> > -		rkisp1_write(params->rkisp1, data,
> > -			     RKISP1_CIF_ISP_LSC_XSIZE_01 + i * 4);
> > +		rkisp1_write(params->rkisp1,
> > +			     RKISP1_CIF_ISP_LSC_XSIZE_01 + i * 4, data);
> >  
> >  		/* program x grad tables */
> >  		data = RKISP1_CIF_ISP_LSC_SECT_SIZE(arg->x_grad_tbl[i * 2],
> >  						    arg->x_grad_tbl[i * 2 + 1]);
> > -		rkisp1_write(params->rkisp1, data,
> > -			     RKISP1_CIF_ISP_LSC_XGRAD_01 + i * 4);
> > +		rkisp1_write(params->rkisp1,
> > +			     RKISP1_CIF_ISP_LSC_XGRAD_01 + i * 4, data);
> >  
> >  		/* program y size tables */
> >  		data = RKISP1_CIF_ISP_LSC_SECT_SIZE(arg->y_size_tbl[i * 2],
> >  						    arg->y_size_tbl[i * 2 + 1]);
> > -		rkisp1_write(params->rkisp1, data,
> > -			     RKISP1_CIF_ISP_LSC_YSIZE_01 + i * 4);
> > +		rkisp1_write(params->rkisp1,
> > +			     RKISP1_CIF_ISP_LSC_YSIZE_01 + i * 4, data);
> >  
> >  		/* program y grad tables */
> >  		data = RKISP1_CIF_ISP_LSC_SECT_SIZE(arg->y_grad_tbl[i * 2],
> >  						    arg->y_grad_tbl[i * 2 + 1]);
> > -		rkisp1_write(params->rkisp1, data,
> > -			     RKISP1_CIF_ISP_LSC_YGRAD_01 + i * 4);
> > +		rkisp1_write(params->rkisp1,
> > +			     RKISP1_CIF_ISP_LSC_YGRAD_01 + i * 4, data);
> >  	}
> >  
> >  	/* restore the lsc ctrl status */
> > @@ -383,28 +379,32 @@ static void rkisp1_flt_config(struct rkisp1_params *params,
> >  {
> >  	u32 filt_mode;
> >  
> > -	rkisp1_write(params->rkisp1,
> > -		     arg->thresh_bl0, RKISP1_CIF_ISP_FILT_THRESH_BL0);
> > -	rkisp1_write(params->rkisp1,
> > -		     arg->thresh_bl1, RKISP1_CIF_ISP_FILT_THRESH_BL1);
> > -	rkisp1_write(params->rkisp1,
> > -		     arg->thresh_sh0, RKISP1_CIF_ISP_FILT_THRESH_SH0);
> > -	rkisp1_write(params->rkisp1,
> > -		     arg->thresh_sh1, RKISP1_CIF_ISP_FILT_THRESH_SH1);
> > -	rkisp1_write(params->rkisp1, arg->fac_bl0, RKISP1_CIF_ISP_FILT_FAC_BL0);
> > -	rkisp1_write(params->rkisp1, arg->fac_bl1, RKISP1_CIF_ISP_FILT_FAC_BL1);
> > -	rkisp1_write(params->rkisp1, arg->fac_mid, RKISP1_CIF_ISP_FILT_FAC_MID);
> > -	rkisp1_write(params->rkisp1, arg->fac_sh0, RKISP1_CIF_ISP_FILT_FAC_SH0);
> > -	rkisp1_write(params->rkisp1, arg->fac_sh1, RKISP1_CIF_ISP_FILT_FAC_SH1);
> > -	rkisp1_write(params->rkisp1,
> > -		     arg->lum_weight, RKISP1_CIF_ISP_FILT_LUM_WEIGHT);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_FILT_THRESH_BL0,
> > +		     arg->thresh_bl0);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_FILT_THRESH_BL1,
> > +		     arg->thresh_bl1);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_FILT_THRESH_SH0,
> > +		     arg->thresh_sh0);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_FILT_THRESH_SH1,
> > +		     arg->thresh_sh1);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_FILT_FAC_BL0,
> > +		     arg->fac_bl0);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_FILT_FAC_BL1,
> > +		     arg->fac_bl1);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_FILT_FAC_MID,
> > +		     arg->fac_mid);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_FILT_FAC_SH0,
> > +		     arg->fac_sh0);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_FILT_FAC_SH1,
> > +		     arg->fac_sh1);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_FILT_LUM_WEIGHT,
> > +		     arg->lum_weight);
> >  
> > -	rkisp1_write(params->rkisp1,
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_FILT_MODE,
> >  		     (arg->mode ? RKISP1_CIF_ISP_FLT_MODE_DNR : 0) |
> >  		     RKISP1_CIF_ISP_FLT_CHROMA_V_MODE(arg->chr_v_mode) |
> >  		     RKISP1_CIF_ISP_FLT_CHROMA_H_MODE(arg->chr_h_mode) |
> > -		     RKISP1_CIF_ISP_FLT_GREEN_STAGE1(arg->grn_stage1),
> > -		     RKISP1_CIF_ISP_FILT_MODE);
> > +		     RKISP1_CIF_ISP_FLT_GREEN_STAGE1(arg->grn_stage1));
> >  
> >  	/* avoid to override the old enable value */
> >  	filt_mode = rkisp1_read(params->rkisp1, RKISP1_CIF_ISP_FILT_MODE);
> > @@ -414,7 +414,7 @@ static void rkisp1_flt_config(struct rkisp1_params *params,
> >  	filt_mode |= RKISP1_CIF_ISP_FLT_CHROMA_V_MODE(arg->chr_v_mode) |
> >  		     RKISP1_CIF_ISP_FLT_CHROMA_H_MODE(arg->chr_h_mode) |
> >  		     RKISP1_CIF_ISP_FLT_GREEN_STAGE1(arg->grn_stage1);
> > -	rkisp1_write(params->rkisp1, filt_mode, RKISP1_CIF_ISP_FILT_MODE);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_FILT_MODE, filt_mode);
> >  }
> >  
> >  /* ISP demosaic interface function */
> > @@ -428,7 +428,7 @@ static int rkisp1_bdm_config(struct rkisp1_params *params,
> >  	bdm_th &= RKISP1_CIF_ISP_DEMOSAIC_BYPASS;
> >  	bdm_th |= arg->demosaic_th & ~RKISP1_CIF_ISP_DEMOSAIC_BYPASS;
> >  	/* set demosaic threshold */
> > -	rkisp1_write(params->rkisp1, bdm_th, RKISP1_CIF_ISP_DEMOSAIC);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DEMOSAIC, bdm_th);
> >  	return 0;
> >  }
> >  
> > @@ -438,18 +438,21 @@ static void rkisp1_sdg_config(struct rkisp1_params *params,
> >  {
> >  	unsigned int i;
> >  
> > -	rkisp1_write(params->rkisp1,
> > -		     arg->xa_pnts.gamma_dx0, RKISP1_CIF_ISP_GAMMA_DX_LO);
> > -	rkisp1_write(params->rkisp1,
> > -		     arg->xa_pnts.gamma_dx1, RKISP1_CIF_ISP_GAMMA_DX_HI);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_GAMMA_DX_LO,
> > +		     arg->xa_pnts.gamma_dx0);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_GAMMA_DX_HI,
> > +		     arg->xa_pnts.gamma_dx1);
> >  
> >  	for (i = 0; i < RKISP1_CIF_ISP_DEGAMMA_CURVE_SIZE; i++) {
> > -		rkisp1_write(params->rkisp1, arg->curve_r.gamma_y[i],
> > -			     RKISP1_CIF_ISP_GAMMA_R_Y0 + i * 4);
> > -		rkisp1_write(params->rkisp1, arg->curve_g.gamma_y[i],
> > -			     RKISP1_CIF_ISP_GAMMA_G_Y0 + i * 4);
> > -		rkisp1_write(params->rkisp1, arg->curve_b.gamma_y[i],
> > -			     RKISP1_CIF_ISP_GAMMA_B_Y0 + i * 4);
> > +		rkisp1_write(params->rkisp1,
> > +			     RKISP1_CIF_ISP_GAMMA_R_Y0 + i * 4,
> > +			     arg->curve_r.gamma_y[i]);
> > +		rkisp1_write(params->rkisp1,
> > +			     RKISP1_CIF_ISP_GAMMA_G_Y0 + i * 4,
> > +			     arg->curve_g.gamma_y[i]);
> > +		rkisp1_write(params->rkisp1,
> > +			     RKISP1_CIF_ISP_GAMMA_B_Y0 + i * 4,
> > +			     arg->curve_b.gamma_y[i]);
> >  	}
> >  }
> >  
> > @@ -461,11 +464,13 @@ static void rkisp1_goc_config_v10(struct rkisp1_params *params,
> >  
> >  	rkisp1_param_clear_bits(params, RKISP1_CIF_ISP_CTRL,
> >  				RKISP1_CIF_ISP_CTRL_ISP_GAMMA_OUT_ENA);
> > -	rkisp1_write(params->rkisp1, arg->mode, RKISP1_CIF_ISP_GAMMA_OUT_MODE_V10);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_GAMMA_OUT_MODE_V10,
> > +		     arg->mode);
> >  
> >  	for (i = 0; i < RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES_V10; i++)
> > -		rkisp1_write(params->rkisp1, arg->gamma_y[i],
> > -			     RKISP1_CIF_ISP_GAMMA_OUT_Y_0_V10 + i * 4);
> > +		rkisp1_write(params->rkisp1,
> > +			     RKISP1_CIF_ISP_GAMMA_OUT_Y_0_V10 + i * 4,
> > +			     arg->gamma_y[i]);
> >  }
> >  
> >  static void rkisp1_goc_config_v12(struct rkisp1_params *params,
> > @@ -476,14 +481,15 @@ static void rkisp1_goc_config_v12(struct rkisp1_params *params,
> >  
> >  	rkisp1_param_clear_bits(params, RKISP1_CIF_ISP_CTRL,
> >  				RKISP1_CIF_ISP_CTRL_ISP_GAMMA_OUT_ENA);
> > -	rkisp1_write(params->rkisp1, arg->mode, RKISP1_CIF_ISP_GAMMA_OUT_MODE_V12);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_GAMMA_OUT_MODE_V12,
> > +		     arg->mode);
> >  
> >  	for (i = 0; i < RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES_V12 / 2; i++) {
> >  		value = RKISP1_CIF_ISP_GAMMA_VALUE_V12(
> >  			arg->gamma_y[2 * i + 1],
> >  			arg->gamma_y[2 * i]);
> > -		rkisp1_write(params->rkisp1, value,
> > -			     RKISP1_CIF_ISP_GAMMA_OUT_Y_0_V12 + i * 4);
> > +		rkisp1_write(params->rkisp1,
> > +			     RKISP1_CIF_ISP_GAMMA_OUT_Y_0_V12 + i * 4, value);
> >  	}
> >  }
> >  
> > @@ -495,11 +501,13 @@ static void rkisp1_ctk_config(struct rkisp1_params *params,
> >  
> >  	for (i = 0; i < 3; i++)
> >  		for (j = 0; j < 3; j++)
> > -			rkisp1_write(params->rkisp1, arg->coeff[i][j],
> > -				     RKISP1_CIF_ISP_CT_COEFF_0 + 4 * k++);
> > +			rkisp1_write(params->rkisp1,
> > +				     RKISP1_CIF_ISP_CT_COEFF_0 + 4 * k++,
> > +				     arg->coeff[i][j]);
> >  	for (i = 0; i < 3; i++)
> > -		rkisp1_write(params->rkisp1, arg->ct_offset[i],
> > -			     RKISP1_CIF_ISP_CT_OFFSET_R + i * 4);
> > +		rkisp1_write(params->rkisp1,
> > +			     RKISP1_CIF_ISP_CT_OFFSET_R + i * 4,
> > +			     arg->ct_offset[i]);
> >  }
> >  
> >  static void rkisp1_ctk_enable(struct rkisp1_params *params, bool en)
> > @@ -508,19 +516,19 @@ static void rkisp1_ctk_enable(struct rkisp1_params *params, bool en)
> >  		return;
> >  
> >  	/* Write back the default values. */
> > -	rkisp1_write(params->rkisp1, 0x80, RKISP1_CIF_ISP_CT_COEFF_0);
> > -	rkisp1_write(params->rkisp1, 0, RKISP1_CIF_ISP_CT_COEFF_1);
> > -	rkisp1_write(params->rkisp1, 0, RKISP1_CIF_ISP_CT_COEFF_2);
> > -	rkisp1_write(params->rkisp1, 0, RKISP1_CIF_ISP_CT_COEFF_3);
> > -	rkisp1_write(params->rkisp1, 0x80, RKISP1_CIF_ISP_CT_COEFF_4);
> > -	rkisp1_write(params->rkisp1, 0, RKISP1_CIF_ISP_CT_COEFF_5);
> > -	rkisp1_write(params->rkisp1, 0, RKISP1_CIF_ISP_CT_COEFF_6);
> > -	rkisp1_write(params->rkisp1, 0, RKISP1_CIF_ISP_CT_COEFF_7);
> > -	rkisp1_write(params->rkisp1, 0x80, RKISP1_CIF_ISP_CT_COEFF_8);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_CT_COEFF_0, 0x80);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_CT_COEFF_1, 0);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_CT_COEFF_2, 0);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_CT_COEFF_3, 0);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_CT_COEFF_4, 0x80);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_CT_COEFF_5, 0);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_CT_COEFF_6, 0);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_CT_COEFF_7, 0);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_CT_COEFF_8, 0x80);
> >  
> > -	rkisp1_write(params->rkisp1, 0, RKISP1_CIF_ISP_CT_OFFSET_R);
> > -	rkisp1_write(params->rkisp1, 0, RKISP1_CIF_ISP_CT_OFFSET_G);
> > -	rkisp1_write(params->rkisp1, 0, RKISP1_CIF_ISP_CT_OFFSET_B);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_CT_OFFSET_R, 0);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_CT_OFFSET_G, 0);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_CT_OFFSET_B, 0);
> >  }
> >  
> >  /* ISP White Balance Mode */
> > @@ -531,15 +539,15 @@ static void rkisp1_awb_meas_config_v10(struct rkisp1_params *params,
> >  	/* based on the mode,configure the awb module */
> >  	if (arg->awb_mode == RKISP1_CIF_ISP_AWB_MODE_YCBCR) {
> >  		/* Reference Cb and Cr */
> > -		rkisp1_write(params->rkisp1,
> > +		rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_REF_V10,
> >  			     RKISP1_CIF_ISP_AWB_REF_CR_SET(arg->awb_ref_cr) |
> > -			     arg->awb_ref_cb, RKISP1_CIF_ISP_AWB_REF_V10);
> > +			     arg->awb_ref_cb);
> >  		/* Yc Threshold */
> > -		rkisp1_write(params->rkisp1,
> > +		rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_THRESH_V10,
> >  			     RKISP1_CIF_ISP_AWB_MAX_Y_SET(arg->max_y) |
> >  			     RKISP1_CIF_ISP_AWB_MIN_Y_SET(arg->min_y) |
> >  			     RKISP1_CIF_ISP_AWB_MAX_CS_SET(arg->max_csum) |
> > -			     arg->min_c, RKISP1_CIF_ISP_AWB_THRESH_V10);
> > +			     arg->min_c);
> >  	}
> >  
> >  	reg_val = rkisp1_read(params->rkisp1, RKISP1_CIF_ISP_AWB_PROP_V10);
> > @@ -547,21 +555,21 @@ static void rkisp1_awb_meas_config_v10(struct rkisp1_params *params,
> >  		reg_val |= RKISP1_CIF_ISP_AWB_YMAX_CMP_EN;
> >  	else
> >  		reg_val &= ~RKISP1_CIF_ISP_AWB_YMAX_CMP_EN;
> > -	rkisp1_write(params->rkisp1, reg_val, RKISP1_CIF_ISP_AWB_PROP_V10);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_PROP_V10, reg_val);
> >  
> >  	/* window offset */
> > -	rkisp1_write(params->rkisp1,
> > -		     arg->awb_wnd.v_offs, RKISP1_CIF_ISP_AWB_WND_V_OFFS_V10);
> > -	rkisp1_write(params->rkisp1,
> > -		     arg->awb_wnd.h_offs, RKISP1_CIF_ISP_AWB_WND_H_OFFS_V10);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_WND_V_OFFS_V10,
> > +		     arg->awb_wnd.v_offs);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_WND_H_OFFS_V10,
> > +		     arg->awb_wnd.h_offs);
> >  	/* AWB window size */
> > -	rkisp1_write(params->rkisp1,
> > -		     arg->awb_wnd.v_size, RKISP1_CIF_ISP_AWB_WND_V_SIZE_V10);
> > -	rkisp1_write(params->rkisp1,
> > -		     arg->awb_wnd.h_size, RKISP1_CIF_ISP_AWB_WND_H_SIZE_V10);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_WND_V_SIZE_V10,
> > +		     arg->awb_wnd.v_size);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_WND_H_SIZE_V10,
> > +		     arg->awb_wnd.h_size);
> >  	/* Number of frames */
> > -	rkisp1_write(params->rkisp1,
> > -		     arg->frames, RKISP1_CIF_ISP_AWB_FRAMES_V10);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_FRAMES_V10,
> > +		     arg->frames);
> >  }
> >  
> >  static void rkisp1_awb_meas_config_v12(struct rkisp1_params *params,
> > @@ -571,15 +579,15 @@ static void rkisp1_awb_meas_config_v12(struct rkisp1_params *params,
> >  	/* based on the mode,configure the awb module */
> >  	if (arg->awb_mode == RKISP1_CIF_ISP_AWB_MODE_YCBCR) {
> >  		/* Reference Cb and Cr */
> > -		rkisp1_write(params->rkisp1,
> > +		rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_REF_V12,
> >  			     RKISP1_CIF_ISP_AWB_REF_CR_SET(arg->awb_ref_cr) |
> > -			     arg->awb_ref_cb, RKISP1_CIF_ISP_AWB_REF_V12);
> > +			     arg->awb_ref_cb);
> >  		/* Yc Threshold */
> > -		rkisp1_write(params->rkisp1,
> > +		rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_THRESH_V12,
> >  			     RKISP1_CIF_ISP_AWB_MAX_Y_SET(arg->max_y) |
> >  			     RKISP1_CIF_ISP_AWB_MIN_Y_SET(arg->min_y) |
> >  			     RKISP1_CIF_ISP_AWB_MAX_CS_SET(arg->max_csum) |
> > -			     arg->min_c, RKISP1_CIF_ISP_AWB_THRESH_V12);
> > +			     arg->min_c);
> >  	}
> >  
> >  	reg_val = rkisp1_read(params->rkisp1, RKISP1_CIF_ISP_AWB_PROP_V12);
> > @@ -589,18 +597,14 @@ static void rkisp1_awb_meas_config_v12(struct rkisp1_params *params,
> >  		reg_val &= ~RKISP1_CIF_ISP_AWB_YMAX_CMP_EN;
> >  	reg_val &= ~RKISP1_CIF_ISP_AWB_SET_FRAMES_MASK_V12;
> >  	reg_val |= RKISP1_CIF_ISP_AWB_SET_FRAMES_V12(arg->frames);
> > -	rkisp1_write(params->rkisp1, reg_val, RKISP1_CIF_ISP_AWB_PROP_V12);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_PROP_V12, reg_val);
> >  
> >  	/* window offset */
> > -	rkisp1_write(params->rkisp1,
> > -		     arg->awb_wnd.v_offs << 16 |
> > -		     arg->awb_wnd.h_offs,
> > -		     RKISP1_CIF_ISP_AWB_OFFS_V12);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_OFFS_V12,
> > +		     arg->awb_wnd.v_offs << 16 | arg->awb_wnd.h_offs);
> >  	/* AWB window size */
> > -	rkisp1_write(params->rkisp1,
> > -		     arg->awb_wnd.v_size << 16 |
> > -		     arg->awb_wnd.h_size,
> > -		     RKISP1_CIF_ISP_AWB_SIZE_V12);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_SIZE_V12,
> > +		     arg->awb_wnd.v_size << 16 | arg->awb_wnd.h_size);
> >  }
> >  
> >  static void
> > @@ -619,14 +623,15 @@ rkisp1_awb_meas_enable_v10(struct rkisp1_params *params,
> >  		else
> >  			reg_val |= RKISP1_CIF_ISP_AWB_MODE_YCBCR_EN;
> >  
> > -		rkisp1_write(params->rkisp1, reg_val, RKISP1_CIF_ISP_AWB_PROP_V10);
> > +		rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_PROP_V10,
> > +			     reg_val);
> >  
> >  		/* Measurements require AWB block be active. */
> >  		rkisp1_param_set_bits(params, RKISP1_CIF_ISP_CTRL,
> >  				      RKISP1_CIF_ISP_CTRL_ISP_AWB_ENA);
> >  	} else {
> > -		rkisp1_write(params->rkisp1,
> > -			     reg_val, RKISP1_CIF_ISP_AWB_PROP_V10);
> > +		rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_PROP_V10,
> > +			     reg_val);
> >  		rkisp1_param_clear_bits(params, RKISP1_CIF_ISP_CTRL,
> >  					RKISP1_CIF_ISP_CTRL_ISP_AWB_ENA);
> >  	}
> > @@ -648,14 +653,15 @@ rkisp1_awb_meas_enable_v12(struct rkisp1_params *params,
> >  		else
> >  			reg_val |= RKISP1_CIF_ISP_AWB_MODE_YCBCR_EN;
> >  
> > -		rkisp1_write(params->rkisp1, reg_val, RKISP1_CIF_ISP_AWB_PROP_V12);
> > +		rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_PROP_V12,
> > +			     reg_val);
> >  
> >  		/* Measurements require AWB block be active. */
> >  		rkisp1_param_set_bits(params, RKISP1_CIF_ISP_CTRL,
> >  				      RKISP1_CIF_ISP_CTRL_ISP_AWB_ENA);
> >  	} else {
> > -		rkisp1_write(params->rkisp1,
> > -			     reg_val, RKISP1_CIF_ISP_AWB_PROP_V12);
> > +		rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_PROP_V12,
> > +			     reg_val);
> >  		rkisp1_param_clear_bits(params, RKISP1_CIF_ISP_CTRL,
> >  					RKISP1_CIF_ISP_CTRL_ISP_AWB_ENA);
> >  	}
> > @@ -665,26 +671,26 @@ static void
> >  rkisp1_awb_gain_config_v10(struct rkisp1_params *params,
> >  			   const struct rkisp1_cif_isp_awb_gain_config *arg)
> >  {
> > -	rkisp1_write(params->rkisp1,
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_GAIN_G_V10,
> >  		     RKISP1_CIF_ISP_AWB_GAIN_R_SET(arg->gain_green_r) |
> > -		     arg->gain_green_b, RKISP1_CIF_ISP_AWB_GAIN_G_V10);
> > +		     arg->gain_green_b);
> >  
> > -	rkisp1_write(params->rkisp1,
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_GAIN_RB_V10,
> >  		     RKISP1_CIF_ISP_AWB_GAIN_R_SET(arg->gain_red) |
> > -		     arg->gain_blue, RKISP1_CIF_ISP_AWB_GAIN_RB_V10);
> > +		     arg->gain_blue);
> >  }
> >  
> >  static void
> >  rkisp1_awb_gain_config_v12(struct rkisp1_params *params,
> >  			   const struct rkisp1_cif_isp_awb_gain_config *arg)
> >  {
> > -	rkisp1_write(params->rkisp1,
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_GAIN_G_V12,
> >  		     RKISP1_CIF_ISP_AWB_GAIN_R_SET(arg->gain_green_r) |
> > -		     arg->gain_green_b, RKISP1_CIF_ISP_AWB_GAIN_G_V12);
> > +		     arg->gain_green_b);
> >  
> > -	rkisp1_write(params->rkisp1,
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AWB_GAIN_RB_V12,
> >  		     RKISP1_CIF_ISP_AWB_GAIN_R_SET(arg->gain_red) |
> > -		     arg->gain_blue, RKISP1_CIF_ISP_AWB_GAIN_RB_V12);
> > +		     arg->gain_blue);
> >  }
> >  
> >  static void rkisp1_aec_config_v10(struct rkisp1_params *params,
> > @@ -700,24 +706,22 @@ static void rkisp1_aec_config_v10(struct rkisp1_params *params,
> >  		exp_ctrl |= RKISP1_CIF_ISP_EXP_CTRL_AUTOSTOP;
> >  	if (arg->mode == RKISP1_CIF_ISP_EXP_MEASURING_MODE_1)
> >  		exp_ctrl |= RKISP1_CIF_ISP_EXP_CTRL_MEASMODE_1;
> > -	rkisp1_write(params->rkisp1, exp_ctrl, RKISP1_CIF_ISP_EXP_CTRL);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_EXP_CTRL, exp_ctrl);
> >  
> > -	rkisp1_write(params->rkisp1,
> > -		     arg->meas_window.h_offs, RKISP1_CIF_ISP_EXP_H_OFFSET_V10);
> > -	rkisp1_write(params->rkisp1,
> > -		     arg->meas_window.v_offs, RKISP1_CIF_ISP_EXP_V_OFFSET_V10);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_EXP_H_OFFSET_V10,
> > +		     arg->meas_window.h_offs);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_EXP_V_OFFSET_V10,
> > +		     arg->meas_window.v_offs);
> >  
> >  	block_hsize = arg->meas_window.h_size /
> >  		      RKISP1_CIF_ISP_EXP_COLUMN_NUM_V10 - 1;
> >  	block_vsize = arg->meas_window.v_size /
> >  		      RKISP1_CIF_ISP_EXP_ROW_NUM_V10 - 1;
> >  
> > -	rkisp1_write(params->rkisp1,
> > -		     RKISP1_CIF_ISP_EXP_H_SIZE_SET_V10(block_hsize),
> > -		     RKISP1_CIF_ISP_EXP_H_SIZE_V10);
> > -	rkisp1_write(params->rkisp1,
> > -		     RKISP1_CIF_ISP_EXP_V_SIZE_SET_V10(block_vsize),
> > -		     RKISP1_CIF_ISP_EXP_V_SIZE_V10);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_EXP_H_SIZE_V10,
> > +		     RKISP1_CIF_ISP_EXP_H_SIZE_SET_V10(block_hsize));
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_EXP_V_SIZE_V10,
> > +		     RKISP1_CIF_ISP_EXP_V_SIZE_SET_V10(block_vsize));
> >  }
> >  
> >  static void rkisp1_aec_config_v12(struct rkisp1_params *params,
> > @@ -736,20 +740,18 @@ static void rkisp1_aec_config_v12(struct rkisp1_params *params,
> >  	if (arg->mode == RKISP1_CIF_ISP_EXP_MEASURING_MODE_1)
> >  		exp_ctrl |= RKISP1_CIF_ISP_EXP_CTRL_MEASMODE_1;
> >  	exp_ctrl |= RKISP1_CIF_ISP_EXP_CTRL_WNDNUM_SET_V12(wnd_num_idx);
> > -	rkisp1_write(params->rkisp1, exp_ctrl, RKISP1_CIF_ISP_EXP_CTRL);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_EXP_CTRL, exp_ctrl);
> >  
> > -	rkisp1_write(params->rkisp1,
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_EXP_OFFS_V12,
> >  		     RKISP1_CIF_ISP_EXP_V_OFFSET_SET_V12(arg->meas_window.v_offs) |
> > -		     RKISP1_CIF_ISP_EXP_H_OFFSET_SET_V12(arg->meas_window.h_offs),
> > -		     RKISP1_CIF_ISP_EXP_OFFS_V12);
> > +		     RKISP1_CIF_ISP_EXP_H_OFFSET_SET_V12(arg->meas_window.h_offs));
> >  
> >  	block_hsize = arg->meas_window.h_size / ae_wnd_num[wnd_num_idx] - 1;
> >  	block_vsize = arg->meas_window.v_size / ae_wnd_num[wnd_num_idx] - 1;
> >  
> > -	rkisp1_write(params->rkisp1,
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_EXP_SIZE_V12,
> >  		     RKISP1_CIF_ISP_EXP_V_SIZE_SET_V12(block_vsize) |
> > -		     RKISP1_CIF_ISP_EXP_H_SIZE_SET_V12(block_hsize),
> > -		     RKISP1_CIF_ISP_EXP_SIZE_V12);
> > +		     RKISP1_CIF_ISP_EXP_H_SIZE_SET_V12(block_hsize));
> >  }
> >  
> >  static void rkisp1_cproc_config(struct rkisp1_params *params,
> > @@ -762,11 +764,12 @@ static void rkisp1_cproc_config(struct rkisp1_params *params,
> >  	u32 effect = cur_ie_config->effect;
> >  	u32 quantization = params->quantization;
> >  
> > -	rkisp1_write(params->rkisp1, arg->contrast, RKISP1_CIF_C_PROC_CONTRAST);
> > -	rkisp1_write(params->rkisp1, arg->hue, RKISP1_CIF_C_PROC_HUE);
> > -	rkisp1_write(params->rkisp1, arg->sat, RKISP1_CIF_C_PROC_SATURATION);
> > -	rkisp1_write(params->rkisp1, arg->brightness,
> > -		     RKISP1_CIF_C_PROC_BRIGHTNESS);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_C_PROC_CONTRAST,
> > +		     arg->contrast);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_C_PROC_HUE, arg->hue);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_C_PROC_SATURATION, arg->sat);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_C_PROC_BRIGHTNESS,
> > +		     arg->brightness);
> >  
> >  	if (quantization != V4L2_QUANTIZATION_FULL_RANGE ||
> >  	    effect != V4L2_COLORFX_NONE) {
> > @@ -802,31 +805,29 @@ static void rkisp1_hst_config_v10(struct rkisp1_params *params,
> >  	hist_prop = rkisp1_read(params->rkisp1, RKISP1_CIF_ISP_HIST_PROP_V10);
> >  	hist_prop &= RKISP1_CIF_ISP_HIST_PROP_MODE_MASK_V10;
> >  	hist_prop |= RKISP1_CIF_ISP_HIST_PREDIV_SET_V10(arg->histogram_predivider);
> > -	rkisp1_write(params->rkisp1, hist_prop, RKISP1_CIF_ISP_HIST_PROP_V10);
> > -	rkisp1_write(params->rkisp1,
> > -		     arg->meas_window.h_offs,
> > -		     RKISP1_CIF_ISP_HIST_H_OFFS_V10);
> > -	rkisp1_write(params->rkisp1,
> > -		     arg->meas_window.v_offs,
> > -		     RKISP1_CIF_ISP_HIST_V_OFFS_V10);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_HIST_PROP_V10, hist_prop);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_HIST_H_OFFS_V10,
> > +		     arg->meas_window.h_offs);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_HIST_V_OFFS_V10,
> > +		     arg->meas_window.v_offs);
> >  
> >  	block_hsize = arg->meas_window.h_size /
> >  		      RKISP1_CIF_ISP_HIST_COLUMN_NUM_V10 - 1;
> >  	block_vsize = arg->meas_window.v_size / RKISP1_CIF_ISP_HIST_ROW_NUM_V10 - 1;
> >  
> > -	rkisp1_write(params->rkisp1, block_hsize, RKISP1_CIF_ISP_HIST_H_SIZE_V10);
> > -	rkisp1_write(params->rkisp1, block_vsize, RKISP1_CIF_ISP_HIST_V_SIZE_V10);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_HIST_H_SIZE_V10,
> > +		     block_hsize);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_HIST_V_SIZE_V10,
> > +		     block_vsize);
> >  
> >  	weight = arg->hist_weight;
> >  	for (i = 0; i < ARRAY_SIZE(hist_weight_regs); ++i, weight += 4)
> > -		rkisp1_write(params->rkisp1,
> > -			     RKISP1_CIF_ISP_HIST_WEIGHT_SET_V10(weight[0],
> > -							    weight[1],
> > -							    weight[2],
> > -							    weight[3]),
> > -				 hist_weight_regs[i]);
> > +		rkisp1_write(params->rkisp1, hist_weight_regs[i],
> > +			     RKISP1_CIF_ISP_HIST_WEIGHT_SET_V10(weight[0], weight[1],
> > +								weight[2], weight[3]));
> >  
> > -	rkisp1_write(params->rkisp1, weight[0] & 0x1F, RKISP1_CIF_ISP_HIST_WEIGHT_44_V10);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_HIST_WEIGHT_44_V10,
> > +		     weight[0] & 0x1F);
> >  }
> >  
> >  static void rkisp1_hst_config_v12(struct rkisp1_params *params,
> > @@ -852,18 +853,16 @@ static void rkisp1_hst_config_v12(struct rkisp1_params *params,
> >  		    RKISP1_CIF_ISP_HIST_CTRL_AUTOSTOP_SET_V12(0) |
> >  		    RKISP1_CIF_ISP_HIST_CTRL_WNDNUM_SET_V12(1) |
> >  		    RKISP1_CIF_ISP_HIST_CTRL_STEPSIZE_SET_V12(arg->histogram_predivider);
> > -	rkisp1_write(params->rkisp1, hist_ctrl, RKISP1_CIF_ISP_HIST_CTRL_V12);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_HIST_CTRL_V12, hist_ctrl);
> >  
> > -	rkisp1_write(params->rkisp1,
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_HIST_OFFS_V12,
> >  		     RKISP1_CIF_ISP_HIST_OFFS_SET_V12(arg->meas_window.h_offs,
> > -						      arg->meas_window.v_offs),
> > -		     RKISP1_CIF_ISP_HIST_OFFS_V12);
> > +						      arg->meas_window.v_offs));
> >  
> >  	block_hsize = arg->meas_window.h_size / hist_wnd_num[wnd_num_idx] - 1;
> >  	block_vsize = arg->meas_window.v_size / hist_wnd_num[wnd_num_idx] - 1;
> > -	rkisp1_write(params->rkisp1,
> > -		     RKISP1_CIF_ISP_HIST_SIZE_SET_V12(block_hsize, block_vsize),
> > -		     RKISP1_CIF_ISP_HIST_SIZE_V12);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_HIST_SIZE_V12,
> > +		     RKISP1_CIF_ISP_HIST_SIZE_SET_V12(block_hsize, block_vsize));
> >  
> >  	for (i = 0; i < hist_wnd_num[wnd_num_idx]; i++) {
> >  		for (j = 0; j < hist_wnd_num[wnd_num_idx]; j++) {
> > @@ -879,12 +878,12 @@ static void rkisp1_hst_config_v12(struct rkisp1_params *params,
> >  				 weight15x15[4 * i + 1],
> >  				 weight15x15[4 * i + 2],
> >  				 weight15x15[4 * i + 3]);
> > -		rkisp1_write(params->rkisp1, value,
> > -				 RKISP1_CIF_ISP_HIST_WEIGHT_V12 + 4 * i);
> > +		rkisp1_write(params->rkisp1,
> > +			     RKISP1_CIF_ISP_HIST_WEIGHT_V12 + 4 * i, value);
> >  	}
> >  	value = RKISP1_CIF_ISP_HIST_WEIGHT_SET_V12(weight15x15[4 * i + 0], 0, 0, 0);
> > -	rkisp1_write(params->rkisp1, value,
> > -				 RKISP1_CIF_ISP_HIST_WEIGHT_V12 + 4 * i);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_HIST_WEIGHT_V12 + 4 * i,
> > +		     value);
> >  }
> >  
> >  static void
> > @@ -938,22 +937,20 @@ static void rkisp1_afm_config_v10(struct rkisp1_params *params,
> >  				RKISP1_CIF_ISP_AFM_ENA);
> >  
> >  	for (i = 0; i < num_of_win; i++) {
> > -		rkisp1_write(params->rkisp1,
> > +		rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AFM_LT_A + i * 8,
> >  			     RKISP1_CIF_ISP_AFM_WINDOW_X(arg->afm_win[i].h_offs) |
> > -			     RKISP1_CIF_ISP_AFM_WINDOW_Y(arg->afm_win[i].v_offs),
> > -			     RKISP1_CIF_ISP_AFM_LT_A + i * 8);
> > -		rkisp1_write(params->rkisp1,
> > +			     RKISP1_CIF_ISP_AFM_WINDOW_Y(arg->afm_win[i].v_offs));
> > +		rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AFM_RB_A + i * 8,
> >  			     RKISP1_CIF_ISP_AFM_WINDOW_X(arg->afm_win[i].h_size +
> >  							 arg->afm_win[i].h_offs) |
> >  			     RKISP1_CIF_ISP_AFM_WINDOW_Y(arg->afm_win[i].v_size +
> > -							 arg->afm_win[i].v_offs),
> > -			     RKISP1_CIF_ISP_AFM_RB_A + i * 8);
> > +							 arg->afm_win[i].v_offs));
> >  	}
> > -	rkisp1_write(params->rkisp1, arg->thres, RKISP1_CIF_ISP_AFM_THRES);
> > -	rkisp1_write(params->rkisp1, arg->var_shift,
> > -		     RKISP1_CIF_ISP_AFM_VAR_SHIFT);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AFM_THRES, arg->thres);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AFM_VAR_SHIFT,
> > +		     arg->var_shift);
> >  	/* restore afm status */
> > -	rkisp1_write(params->rkisp1, afm_ctrl, RKISP1_CIF_ISP_AFM_CTRL);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AFM_CTRL, afm_ctrl);
> >  }
> >  
> >  static void rkisp1_afm_config_v12(struct rkisp1_params *params,
> > @@ -970,29 +967,26 @@ static void rkisp1_afm_config_v12(struct rkisp1_params *params,
> >  				RKISP1_CIF_ISP_AFM_ENA);
> >  
> >  	for (i = 0; i < num_of_win; i++) {
> > -		rkisp1_write(params->rkisp1,
> > +		rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AFM_LT_A + i * 8,
> >  			     RKISP1_CIF_ISP_AFM_WINDOW_X(arg->afm_win[i].h_offs) |
> > -			     RKISP1_CIF_ISP_AFM_WINDOW_Y(arg->afm_win[i].v_offs),
> > -			     RKISP1_CIF_ISP_AFM_LT_A + i * 8);
> > -		rkisp1_write(params->rkisp1,
> > +			     RKISP1_CIF_ISP_AFM_WINDOW_Y(arg->afm_win[i].v_offs));
> > +		rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AFM_RB_A + i * 8,
> >  			     RKISP1_CIF_ISP_AFM_WINDOW_X(arg->afm_win[i].h_size +
> >  							 arg->afm_win[i].h_offs) |
> >  			     RKISP1_CIF_ISP_AFM_WINDOW_Y(arg->afm_win[i].v_size +
> > -							 arg->afm_win[i].v_offs),
> > -			     RKISP1_CIF_ISP_AFM_RB_A + i * 8);
> > +							 arg->afm_win[i].v_offs));
> >  	}
> > -	rkisp1_write(params->rkisp1, arg->thres, RKISP1_CIF_ISP_AFM_THRES);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AFM_THRES, arg->thres);
> >  
> >  	lum_var_shift = RKISP1_CIF_ISP_AFM_GET_LUM_SHIFT_a_V12(arg->var_shift);
> >  	afm_var_shift = RKISP1_CIF_ISP_AFM_GET_AFM_SHIFT_a_V12(arg->var_shift);
> > -	rkisp1_write(params->rkisp1,
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AFM_VAR_SHIFT,
> >  		     RKISP1_CIF_ISP_AFM_SET_SHIFT_a_V12(lum_var_shift, afm_var_shift) |
> >  		     RKISP1_CIF_ISP_AFM_SET_SHIFT_b_V12(lum_var_shift, afm_var_shift) |
> > -		     RKISP1_CIF_ISP_AFM_SET_SHIFT_c_V12(lum_var_shift, afm_var_shift),
> > -		     RKISP1_CIF_ISP_AFM_VAR_SHIFT);
> > +		     RKISP1_CIF_ISP_AFM_SET_SHIFT_c_V12(lum_var_shift, afm_var_shift));
> >  
> >  	/* restore afm status */
> > -	rkisp1_write(params->rkisp1, afm_ctrl, RKISP1_CIF_ISP_AFM_CTRL);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_AFM_CTRL, afm_ctrl);
> >  }
> >  
> >  static void rkisp1_ie_config(struct rkisp1_params *params,
> > @@ -1011,8 +1005,8 @@ static void rkisp1_ie_config(struct rkisp1_params *params,
> >  		eff_ctrl |= RKISP1_CIF_IMG_EFF_CTRL_MODE_SEPIA;
> >  		break;
> >  	case V4L2_COLORFX_SET_CBCR:
> > -		rkisp1_write(params->rkisp1, arg->eff_tint,
> > -			     RKISP1_CIF_IMG_EFF_TINT);
> > +		rkisp1_write(params->rkisp1, RKISP1_CIF_IMG_EFF_TINT,
> > +			     arg->eff_tint);
> >  		eff_ctrl |= RKISP1_CIF_IMG_EFF_CTRL_MODE_SEPIA;
> >  		break;
> >  		/*
> > @@ -1021,26 +1015,26 @@ static void rkisp1_ie_config(struct rkisp1_params *params,
> >  		 */
> >  	case V4L2_COLORFX_AQUA:
> >  		eff_ctrl |= RKISP1_CIF_IMG_EFF_CTRL_MODE_COLOR_SEL;
> > -		rkisp1_write(params->rkisp1, arg->color_sel,
> > -			     RKISP1_CIF_IMG_EFF_COLOR_SEL);
> > +		rkisp1_write(params->rkisp1, RKISP1_CIF_IMG_EFF_COLOR_SEL,
> > +			     arg->color_sel);
> >  		break;
> >  	case V4L2_COLORFX_EMBOSS:
> >  		eff_ctrl |= RKISP1_CIF_IMG_EFF_CTRL_MODE_EMBOSS;
> > -		rkisp1_write(params->rkisp1, arg->eff_mat_1,
> > -			     RKISP1_CIF_IMG_EFF_MAT_1);
> > -		rkisp1_write(params->rkisp1, arg->eff_mat_2,
> > -			     RKISP1_CIF_IMG_EFF_MAT_2);
> > -		rkisp1_write(params->rkisp1, arg->eff_mat_3,
> > -			     RKISP1_CIF_IMG_EFF_MAT_3);
> > +		rkisp1_write(params->rkisp1, RKISP1_CIF_IMG_EFF_MAT_1,
> > +			     arg->eff_mat_1);
> > +		rkisp1_write(params->rkisp1, RKISP1_CIF_IMG_EFF_MAT_2,
> > +			     arg->eff_mat_2);
> > +		rkisp1_write(params->rkisp1, RKISP1_CIF_IMG_EFF_MAT_3,
> > +			     arg->eff_mat_3);
> >  		break;
> >  	case V4L2_COLORFX_SKETCH:
> >  		eff_ctrl |= RKISP1_CIF_IMG_EFF_CTRL_MODE_SKETCH;
> > -		rkisp1_write(params->rkisp1, arg->eff_mat_3,
> > -			     RKISP1_CIF_IMG_EFF_MAT_3);
> > -		rkisp1_write(params->rkisp1, arg->eff_mat_4,
> > -			     RKISP1_CIF_IMG_EFF_MAT_4);
> > -		rkisp1_write(params->rkisp1, arg->eff_mat_5,
> > -			     RKISP1_CIF_IMG_EFF_MAT_5);
> > +		rkisp1_write(params->rkisp1, RKISP1_CIF_IMG_EFF_MAT_3,
> > +			     arg->eff_mat_3);
> > +		rkisp1_write(params->rkisp1, RKISP1_CIF_IMG_EFF_MAT_4,
> > +			     arg->eff_mat_4);
> > +		rkisp1_write(params->rkisp1, RKISP1_CIF_IMG_EFF_MAT_5,
> > +			     arg->eff_mat_5);
> >  		break;
> >  	case V4L2_COLORFX_BW:
> >  		eff_ctrl |= RKISP1_CIF_IMG_EFF_CTRL_MODE_BLACKWHITE;
> > @@ -1052,7 +1046,7 @@ static void rkisp1_ie_config(struct rkisp1_params *params,
> >  		break;
> >  	}
> >  
> > -	rkisp1_write(params->rkisp1, eff_ctrl, RKISP1_CIF_IMG_EFF_CTRL);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_IMG_EFF_CTRL, eff_ctrl);
> >  }
> >  
> >  static void rkisp1_ie_enable(struct rkisp1_params *params, bool en)
> > @@ -1060,8 +1054,8 @@ static void rkisp1_ie_enable(struct rkisp1_params *params, bool en)
> >  	if (en) {
> >  		rkisp1_param_set_bits(params, RKISP1_CIF_VI_ICCL,
> >  				      RKISP1_CIF_VI_ICCL_IE_CLK);
> > -		rkisp1_write(params->rkisp1, RKISP1_CIF_IMG_EFF_CTRL_ENABLE,
> > -			     RKISP1_CIF_IMG_EFF_CTRL);
> > +		rkisp1_write(params->rkisp1, RKISP1_CIF_IMG_EFF_CTRL,
> > +			     RKISP1_CIF_IMG_EFF_CTRL_ENABLE);
> >  		rkisp1_param_set_bits(params, RKISP1_CIF_IMG_EFF_CTRL,
> >  				      RKISP1_CIF_IMG_EFF_CTRL_CFG_UPD);
> >  	} else {
> > @@ -1088,16 +1082,18 @@ static void rkisp1_csm_config(struct rkisp1_params *params, bool full_range)
> >  
> >  	if (full_range) {
> >  		for (i = 0; i < ARRAY_SIZE(full_range_coeff); i++)
> > -			rkisp1_write(params->rkisp1, full_range_coeff[i],
> > -				     RKISP1_CIF_ISP_CC_COEFF_0 + i * 4);
> > +			rkisp1_write(params->rkisp1,
> > +				     RKISP1_CIF_ISP_CC_COEFF_0 + i * 4,
> > +				     full_range_coeff[i]);
> >  
> >  		rkisp1_param_set_bits(params, RKISP1_CIF_ISP_CTRL,
> >  				      RKISP1_CIF_ISP_CTRL_ISP_CSM_Y_FULL_ENA |
> >  				      RKISP1_CIF_ISP_CTRL_ISP_CSM_C_FULL_ENA);
> >  	} else {
> >  		for (i = 0; i < ARRAY_SIZE(limited_range_coeff); i++)
> > -			rkisp1_write(params->rkisp1, limited_range_coeff[i],
> > -				     RKISP1_CIF_ISP_CC_COEFF_0 + i * 4);
> > +			rkisp1_write(params->rkisp1,
> > +				     RKISP1_CIF_ISP_CC_COEFF_0 + i * 4,
> > +				     limited_range_coeff[i]);
> >  
> >  		rkisp1_param_clear_bits(params, RKISP1_CIF_ISP_CTRL,
> >  					RKISP1_CIF_ISP_CTRL_ISP_CSM_Y_FULL_ENA |
> > @@ -1152,52 +1148,53 @@ static void rkisp1_dpf_config(struct rkisp1_params *params,
> >  
> >  	rkisp1_param_set_bits(params, RKISP1_CIF_ISP_DPF_MODE,
> >  			      isp_dpf_mode);
> > -	rkisp1_write(params->rkisp1, arg->gain.nf_b_gain,
> > -		     RKISP1_CIF_ISP_DPF_NF_GAIN_B);
> > -	rkisp1_write(params->rkisp1, arg->gain.nf_r_gain,
> > -		     RKISP1_CIF_ISP_DPF_NF_GAIN_R);
> > -	rkisp1_write(params->rkisp1, arg->gain.nf_gb_gain,
> > -		     RKISP1_CIF_ISP_DPF_NF_GAIN_GB);
> > -	rkisp1_write(params->rkisp1, arg->gain.nf_gr_gain,
> > -		     RKISP1_CIF_ISP_DPF_NF_GAIN_GR);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPF_NF_GAIN_B,
> > +		     arg->gain.nf_b_gain);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPF_NF_GAIN_R,
> > +		     arg->gain.nf_r_gain);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPF_NF_GAIN_GB,
> > +		     arg->gain.nf_gb_gain);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPF_NF_GAIN_GR,
> > +		     arg->gain.nf_gr_gain);
> >  
> >  	for (i = 0; i < RKISP1_CIF_ISP_DPF_MAX_NLF_COEFFS; i++) {
> > -		rkisp1_write(params->rkisp1, arg->nll.coeff[i],
> > -			     RKISP1_CIF_ISP_DPF_NULL_COEFF_0 + i * 4);
> > +		rkisp1_write(params->rkisp1,
> > +			     RKISP1_CIF_ISP_DPF_NULL_COEFF_0 + i * 4,
> > +			     arg->nll.coeff[i]);
> >  	}
> >  
> >  	spatial_coeff = arg->g_flt.spatial_coeff[0] |
> >  			(arg->g_flt.spatial_coeff[1] << 8) |
> >  			(arg->g_flt.spatial_coeff[2] << 16) |
> >  			(arg->g_flt.spatial_coeff[3] << 24);
> > -	rkisp1_write(params->rkisp1, spatial_coeff,
> > -		     RKISP1_CIF_ISP_DPF_S_WEIGHT_G_1_4);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPF_S_WEIGHT_G_1_4,
> > +		     spatial_coeff);
> >  
> >  	spatial_coeff = arg->g_flt.spatial_coeff[4] |
> >  			(arg->g_flt.spatial_coeff[5] << 8);
> > -	rkisp1_write(params->rkisp1, spatial_coeff,
> > -		     RKISP1_CIF_ISP_DPF_S_WEIGHT_G_5_6);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPF_S_WEIGHT_G_5_6,
> > +		     spatial_coeff);
> >  
> >  	spatial_coeff = arg->rb_flt.spatial_coeff[0] |
> >  			(arg->rb_flt.spatial_coeff[1] << 8) |
> >  			(arg->rb_flt.spatial_coeff[2] << 16) |
> >  			(arg->rb_flt.spatial_coeff[3] << 24);
> > -	rkisp1_write(params->rkisp1, spatial_coeff,
> > -		     RKISP1_CIF_ISP_DPF_S_WEIGHT_RB_1_4);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPF_S_WEIGHT_RB_1_4,
> > +		     spatial_coeff);
> >  
> >  	spatial_coeff = arg->rb_flt.spatial_coeff[4] |
> >  			(arg->rb_flt.spatial_coeff[5] << 8);
> > -	rkisp1_write(params->rkisp1, spatial_coeff,
> > -		     RKISP1_CIF_ISP_DPF_S_WEIGHT_RB_5_6);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPF_S_WEIGHT_RB_5_6,
> > +		     spatial_coeff);
> >  }
> >  
> >  static void
> >  rkisp1_dpf_strength_config(struct rkisp1_params *params,
> >  			   const struct rkisp1_cif_isp_dpf_strength_config *arg)
> >  {
> > -	rkisp1_write(params->rkisp1, arg->b, RKISP1_CIF_ISP_DPF_STRENGTH_B);
> > -	rkisp1_write(params->rkisp1, arg->g, RKISP1_CIF_ISP_DPF_STRENGTH_G);
> > -	rkisp1_write(params->rkisp1, arg->r, RKISP1_CIF_ISP_DPF_STRENGTH_R);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPF_STRENGTH_B, arg->b);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPF_STRENGTH_G, arg->g);
> > +	rkisp1_write(params->rkisp1, RKISP1_CIF_ISP_DPF_STRENGTH_R, arg->r);
> >  }
> >  
> >  static void
> > diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-resizer.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-resizer.c
> > index df2beee1be99..b88d579a283c 100644
> > --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-resizer.c
> > +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-resizer.c
> > @@ -222,7 +222,7 @@ static void rkisp1_dcrop_disable(struct rkisp1_resizer *rsz,
> >  		dc_ctrl |= RKISP1_CIF_DUAL_CROP_GEN_CFG_UPD;
> >  	else
> >  		dc_ctrl |= RKISP1_CIF_DUAL_CROP_CFG_UPD;
> > -	rkisp1_write(rsz->rkisp1, dc_ctrl, rsz->config->dual_crop.ctrl);
> > +	rkisp1_write(rsz->rkisp1, rsz->config->dual_crop.ctrl, dc_ctrl);
> >  }
> >  
> >  /* configure dual-crop unit */
> > @@ -247,13 +247,13 @@ static void rkisp1_dcrop_config(struct rkisp1_resizer *rsz)
> >  	}
> >  
> >  	dc_ctrl = rkisp1_read(rkisp1, rsz->config->dual_crop.ctrl);
> > -	rkisp1_write(rkisp1, sink_crop->left, rsz->config->dual_crop.h_offset);
> > -	rkisp1_write(rkisp1, sink_crop->top, rsz->config->dual_crop.v_offset);
> > -	rkisp1_write(rkisp1, sink_crop->width, rsz->config->dual_crop.h_size);
> > -	rkisp1_write(rkisp1, sink_crop->height, rsz->config->dual_crop.v_size);
> > +	rkisp1_write(rkisp1, rsz->config->dual_crop.h_offset, sink_crop->left);
> > +	rkisp1_write(rkisp1, rsz->config->dual_crop.v_offset, sink_crop->top);
> > +	rkisp1_write(rkisp1, rsz->config->dual_crop.h_size, sink_crop->width);
> > +	rkisp1_write(rkisp1, rsz->config->dual_crop.v_size, sink_crop->height);
> >  	dc_ctrl |= rsz->config->dual_crop.yuvmode_mask;
> >  	dc_ctrl |= RKISP1_CIF_DUAL_CROP_CFG_UPD;
> > -	rkisp1_write(rkisp1, dc_ctrl, rsz->config->dual_crop.ctrl);
> > +	rkisp1_write(rkisp1, rsz->config->dual_crop.ctrl, dc_ctrl);
> >  
> >  	dev_dbg(rkisp1->dev, "stream %d crop: %dx%d -> %dx%d\n", rsz->id,
> >  		sink_fmt->width, sink_fmt->height,
> > @@ -309,7 +309,7 @@ static void rkisp1_rsz_update_shadow(struct rkisp1_resizer *rsz,
> >  	else
> >  		ctrl_cfg |= RKISP1_CIF_RSZ_CTRL_CFG_UPD;
> >  
> > -	rkisp1_write(rsz->rkisp1, ctrl_cfg, rsz->config->rsz.ctrl);
> > +	rkisp1_write(rsz->rkisp1, rsz->config->rsz.ctrl, ctrl_cfg);
> >  }
> >  
> >  static u32 rkisp1_rsz_calc_ratio(u32 len_sink, u32 len_src)
> > @@ -325,7 +325,7 @@ static u32 rkisp1_rsz_calc_ratio(u32 len_sink, u32 len_src)
> >  static void rkisp1_rsz_disable(struct rkisp1_resizer *rsz,
> >  			       enum rkisp1_shadow_regs_when when)
> >  {
> > -	rkisp1_write(rsz->rkisp1, 0, rsz->config->rsz.ctrl);
> > +	rkisp1_write(rsz->rkisp1, rsz->config->rsz.ctrl, 0);
> >  
> >  	if (when == RKISP1_SHADOW_REGS_SYNC)
> >  		rkisp1_rsz_update_shadow(rsz, when);
> > @@ -343,15 +343,15 @@ static void rkisp1_rsz_config_regs(struct rkisp1_resizer *rsz,
> >  	unsigned int i;
> >  
> >  	/* No phase offset */
> > -	rkisp1_write(rkisp1, 0, rsz->config->rsz.phase_hy);
> > -	rkisp1_write(rkisp1, 0, rsz->config->rsz.phase_hc);
> > -	rkisp1_write(rkisp1, 0, rsz->config->rsz.phase_vy);
> > -	rkisp1_write(rkisp1, 0, rsz->config->rsz.phase_vc);
> > +	rkisp1_write(rkisp1, rsz->config->rsz.phase_hy, 0);
> > +	rkisp1_write(rkisp1, rsz->config->rsz.phase_hc, 0);
> > +	rkisp1_write(rkisp1, rsz->config->rsz.phase_vy, 0);
> > +	rkisp1_write(rkisp1, rsz->config->rsz.phase_vc, 0);
> >  
> >  	/* Linear interpolation */
> >  	for (i = 0; i < 64; i++) {
> > -		rkisp1_write(rkisp1, i, rsz->config->rsz.scale_lut_addr);
> > -		rkisp1_write(rkisp1, i, rsz->config->rsz.scale_lut);
> > +		rkisp1_write(rkisp1, rsz->config->rsz.scale_lut_addr, i);
> > +		rkisp1_write(rkisp1, rsz->config->rsz.scale_lut, i);
> >  	}
> >  
> >  	if (sink_y->width != src_y->width) {
> > @@ -359,7 +359,7 @@ static void rkisp1_rsz_config_regs(struct rkisp1_resizer *rsz,
> >  		if (sink_y->width < src_y->width)
> >  			rsz_ctrl |= RKISP1_CIF_RSZ_CTRL_SCALE_HY_UP;
> >  		ratio = rkisp1_rsz_calc_ratio(sink_y->width, src_y->width);
> > -		rkisp1_write(rkisp1, ratio, rsz->config->rsz.scale_hy);
> > +		rkisp1_write(rkisp1, rsz->config->rsz.scale_hy, ratio);
> >  	}
> >  
> >  	if (sink_c->width != src_c->width) {
> > @@ -367,8 +367,8 @@ static void rkisp1_rsz_config_regs(struct rkisp1_resizer *rsz,
> >  		if (sink_c->width < src_c->width)
> >  			rsz_ctrl |= RKISP1_CIF_RSZ_CTRL_SCALE_HC_UP;
> >  		ratio = rkisp1_rsz_calc_ratio(sink_c->width, src_c->width);
> > -		rkisp1_write(rkisp1, ratio, rsz->config->rsz.scale_hcb);
> > -		rkisp1_write(rkisp1, ratio, rsz->config->rsz.scale_hcr);
> > +		rkisp1_write(rkisp1, rsz->config->rsz.scale_hcb, ratio);
> > +		rkisp1_write(rkisp1, rsz->config->rsz.scale_hcr, ratio);
> >  	}
> >  
> >  	if (sink_y->height != src_y->height) {
> > @@ -376,7 +376,7 @@ static void rkisp1_rsz_config_regs(struct rkisp1_resizer *rsz,
> >  		if (sink_y->height < src_y->height)
> >  			rsz_ctrl |= RKISP1_CIF_RSZ_CTRL_SCALE_VY_UP;
> >  		ratio = rkisp1_rsz_calc_ratio(sink_y->height, src_y->height);
> > -		rkisp1_write(rkisp1, ratio, rsz->config->rsz.scale_vy);
> > +		rkisp1_write(rkisp1, rsz->config->rsz.scale_vy, ratio);
> >  	}
> >  
> >  	if (sink_c->height != src_c->height) {
> > @@ -384,10 +384,10 @@ static void rkisp1_rsz_config_regs(struct rkisp1_resizer *rsz,
> >  		if (sink_c->height < src_c->height)
> >  			rsz_ctrl |= RKISP1_CIF_RSZ_CTRL_SCALE_VC_UP;
> >  		ratio = rkisp1_rsz_calc_ratio(sink_c->height, src_c->height);
> > -		rkisp1_write(rkisp1, ratio, rsz->config->rsz.scale_vc);
> > +		rkisp1_write(rkisp1, rsz->config->rsz.scale_vc, ratio);
> >  	}
> >  
> > -	rkisp1_write(rkisp1, rsz_ctrl, rsz->config->rsz.ctrl);
> > +	rkisp1_write(rkisp1, rsz->config->rsz.ctrl, rsz_ctrl);
> >  
> >  	rkisp1_rsz_update_shadow(rsz, when);
> >  }
> > diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-stats.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-stats.c
> > index 26ef3bbe43d0..b7ae9166c52f 100644
> > --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-stats.c
> > +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-stats.c
> > @@ -408,7 +408,7 @@ void rkisp1_stats_isr(struct rkisp1_stats *stats, u32 isp_ris)
> >  
> >  	spin_lock(&stats->lock);
> >  
> > -	rkisp1_write(rkisp1, RKISP1_STATS_MEAS_MASK, RKISP1_CIF_ISP_ICR);
> > +	rkisp1_write(rkisp1, RKISP1_CIF_ISP_ICR, RKISP1_STATS_MEAS_MASK);
> >  
> >  	isp_mis_tmp = rkisp1_read(rkisp1, RKISP1_CIF_ISP_MIS);
> >  	if (isp_mis_tmp & RKISP1_STATS_MEAS_MASK)

-- 
Regards,

Laurent Pinchart



More information about the Linux-rockchip mailing list