media: rockchip: isp: fix no work for internal read back case

Change-Id: I00722d7cd0f6e5011ea24c14cbdd7a5437a82eb4
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
This commit is contained in:
Cai YiWei 2020-07-23 15:41:35 +08:00 committed by Tao Huang
parent 6d25c622a5
commit a17a958f85
2 changed files with 7 additions and 6 deletions

View File

@ -694,8 +694,7 @@ void rkisp_bridge_isr(u32 *mis_val, struct rkisp_device *dev)
/* dmarx isr is unreliable, MI frame end to replace it */
if (*mis_val & (MI_MP_FRAME | MI_MPFBC_FRAME) &&
IS_HDR_RDBK(dev->hdr.op_mode) &&
dev->dmarx_dev.trigger == T_MANUAL) {
IS_HDR_RDBK(dev->hdr.op_mode)) {
switch (dev->hdr.op_mode) {
case HDR_RDBK_FRAME3://for rd1 rd0 rd2
val |= RAW1_RD_FRAME;
@ -708,7 +707,8 @@ void rkisp_bridge_isr(u32 *mis_val, struct rkisp_device *dev)
/* FALLTHROUGH */
}
rkisp2_rawrd_isr(val, dev);
rkisp_csi_trigger_event(&dev->csi_dev, NULL);
if (dev->dmarx_dev.trigger == T_MANUAL)
rkisp_csi_trigger_event(&dev->csi_dev, NULL);
}
if (!bridge->en || !bridge->cfg ||

View File

@ -1289,11 +1289,12 @@ static void update_dmatx_v2(struct rkisp_stream *stream)
else
hdr_qbuf(&dev->hdr.q_tx[index], buf);
}
if (!buf)
if (!buf && stream->dummy_buf.mem_priv)
buf = &stream->dummy_buf;
mi_set_y_addr(stream, buf->dma_addr);
if (buf)
mi_set_y_addr(stream, buf->dma_addr);
}
v4l2_dbg(1, rkisp_debug, &dev->v4l2_dev,
v4l2_dbg(2, rkisp_debug, &dev->v4l2_dev,
"%s stream:%d Y:0x%x SHD:0x%x\n",
__func__, stream->id,
readl(base + stream->config->mi.y_base_ad_init),