media: rockchip: isp: fix error for multi sensor with scale up case

Change-Id: If9e781820ed0be41096c29fbdffa8114458b8597
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
This commit is contained in:
Cai YiWei 2023-05-08 14:30:49 +08:00 committed by Tao Huang
parent be08ed2545
commit a9a5d8c2dd

View File

@ -665,6 +665,20 @@ void rkisp_trigger_read_back(struct rkisp_device *dev, u8 dma2frm, u32 mode, boo
rkisp_config_cmsk(dev);
rkisp_stream_frame_start(dev, 0);
if (!hw->is_single && !is_try) {
/* multi sensor need to reset isp resize mode if scale up */
val = 0;
if (rkisp_read(dev, ISP3X_MAIN_RESIZE_CTRL, true) & 0xf0)
val |= BIT(3);
if (dev->isp_ver != ISP_V32_L &&
rkisp_read(dev, ISP3X_SELF_RESIZE_CTRL, true) & 0xf0)
val |= BIT(4);
if (rkisp_read(dev, ISP32_BP_RESIZE_CTRL, true) & 0xf0)
val |= BIT(12);
if (val) {
writel(val, hw->base_addr + CIF_IRCL);
writel(0, hw->base_addr + CIF_IRCL);
}
rkisp_update_regs(dev, CTRL_VI_ISP_PATH, SUPER_IMP_COLOR_CR);
rkisp_update_regs(dev, DUAL_CROP_M_H_OFFS, ISP3X_DUAL_CROP_FBC_V_SIZE);
rkisp_update_regs(dev, ISP_ACQ_H_OFFS, DUAL_CROP_CTRL);