media: rockchip: isp: fix sp no output when hdr dynamic switch

Change-Id: Idbb35a9c40e62fbc876345aaa516a842416c1bb3
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
This commit is contained in:
Cai YiWei
2021-08-19 15:52:07 +08:00
committed by Tao Huang
parent d0eadda766
commit 360cca1de4
2 changed files with 8 additions and 3 deletions

View File

@@ -576,6 +576,10 @@ static int rkisp_stream_config_dcrop(struct rkisp_stream *stream, bool async)
rkisp_disable_dcrop(stream, async);
v4l2_dbg(1, rkisp_debug, &dev->v4l2_dev,
"stream %d crop disabled\n", stream->id);
if (RKMODULE_EXTEND_LINE != 0) {
rkisp_write(dev, stream->config->dual_crop.h_size, src_w, false);
rkisp_write(dev, stream->config->dual_crop.v_size, src_h, false);
}
return 0;
}

View File

@@ -515,15 +515,16 @@ void rkisp_trigger_read_back(struct rkisp_device *dev, u8 dma2frm, u32 mode, boo
}
if (dev->isp_ver == ISP_V20 && dev->dmarx_dev.trigger == T_MANUAL && !is_try) {
if (dev->rd_mode != rd_mode && dev->br_dev.en) {
if (dev->rd_mode != rd_mode && RKMODULE_EXTEND_LINE != 0) {
tmp = dev->isp_sdev.in_crop.height;
val = rkisp_read(dev, CIF_DUAL_CROP_CTRL, false);
if (rd_mode == HDR_RDBK_FRAME1) {
val |= CIF_DUAL_CROP_MP_MODE_YUV;
val |= CIF_DUAL_CROP_MP_MODE_YUV | CIF_DUAL_CROP_SP_MODE_YUV;
tmp += RKMODULE_EXTEND_LINE;
} else {
val &= ~CIF_DUAL_CROP_MP_MODE_YUV;
val &= ~(CIF_DUAL_CROP_MP_MODE_YUV | CIF_DUAL_CROP_SP_MODE_YUV);
}
val |= CIF_DUAL_CROP_CFG_UPD;
rkisp_write(dev, CIF_DUAL_CROP_CTRL, val, false);
rkisp_write(dev, CIF_ISP_ACQ_V_SIZE, tmp, false);
rkisp_write(dev, CIF_ISP_OUT_V_SIZE, tmp, false);