media: rockchip: isp: record isp read time for fast mode

Change-Id: I048a9020e36e08f2968b36cf08345196dd07fb8c
Signed-off-by: Cai YiWei <cyw@rock-chips.com>
This commit is contained in:
Cai YiWei
2022-08-26 14:59:10 +08:00
committed by Tao Huang
parent 628387f68d
commit f53a9aa757
2 changed files with 10 additions and 6 deletions

View File

@@ -471,6 +471,8 @@ static int dmarx_frame_end(struct rkisp_stream *stream)
rkisp_unite_set_bits(dev, CSI2RX_MASK_STAT,
0, ISP21_MIPI_DROP_FRM,
true, dev->hw_dev->is_unite);
rkisp_unite_clear_bits(dev, CIF_ISP_IMSC, CIF_ISP_FRAME_IN,
true, dev->hw_dev->is_unite);
}
rx_buf->runtime_us = dev->isp_sdev.dbg.interval / 1000;
v4l2_subdev_call(sd, video, s_rx_buffer, rx_buf, NULL);

View File

@@ -1616,10 +1616,9 @@ static int rkisp_config_isp(struct rkisp_device *dev)
if (dev->isp_ver == ISP_V20 || dev->isp_ver == ISP_V21 ||
dev->isp_ver == ISP_V30 || dev->isp_ver == ISP_V32)
irq_mask |= ISP2X_LSC_LUT_ERR;
if (is_unite)
rkisp_next_write(dev, CIF_ISP_IMSC, irq_mask, true);
else
rkisp_write(dev, CIF_ISP_IMSC, irq_mask, true);
if (dev->is_pre_on)
irq_mask |= CIF_ISP_FRAME_IN;
rkisp_unite_write(dev, CIF_ISP_IMSC, irq_mask, true, is_unite);
if ((dev->isp_ver == ISP_V20 ||
dev->isp_ver == ISP_V21) &&
@@ -3938,6 +3937,8 @@ vs_skip:
/* sampled input frame is complete */
if (isp_mis & CIF_ISP_FRAME_IN) {
dev->isp_sdev.dbg.interval =
ktime_get_ns() - dev->isp_sdev.dbg.timestamp;
rkisp_set_state(&dev->isp_state, ISP_FRAME_IN);
writel(CIF_ISP_FRAME_IN, base + CIF_ISP_ICR);
isp_mis_tmp = readl(base + CIF_ISP_MIS);
@@ -3948,8 +3949,9 @@ vs_skip:
/* frame was completely put out */
if (isp_mis & CIF_ISP_FRAME) {
dev->isp_sdev.dbg.interval =
ktime_get_ns() - dev->isp_sdev.dbg.timestamp;
if (!dev->is_pre_on || !IS_HDR_RDBK(dev->rd_mode))
dev->isp_sdev.dbg.interval =
ktime_get_ns() - dev->isp_sdev.dbg.timestamp;
/* Clear Frame In (ISP) */
rkisp_set_state(&dev->isp_state, ISP_FRAME_END);
writel(CIF_ISP_FRAME, base + CIF_ISP_ICR);