diff --git a/drivers/media/platform/rockchip/isp/bridge.c b/drivers/media/platform/rockchip/isp/bridge.c index 4399b2f73fba..3f52820e3803 100644 --- a/drivers/media/platform/rockchip/isp/bridge.c +++ b/drivers/media/platform/rockchip/isp/bridge.c @@ -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 || diff --git a/drivers/media/platform/rockchip/isp/capture.c b/drivers/media/platform/rockchip/isp/capture.c index 8b440a76bb13..483f61c2bbfc 100644 --- a/drivers/media/platform/rockchip/isp/capture.c +++ b/drivers/media/platform/rockchip/isp/capture.c @@ -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),