From c3c0f230b0d6f0cdac3ea1b5283d646c27a1ba98 Mon Sep 17 00:00:00 2001 From: Cai YiWei Date: Wed, 13 Apr 2022 10:23:00 +0800 Subject: [PATCH] media: rockchip: isp: fix isp debug time for fe/fs irq together Change-Id: I527953193399c1a4de4da02dfb508f81e92b4daa Signed-off-by: Cai YiWei --- drivers/media/platform/rockchip/isp/rkisp.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/drivers/media/platform/rockchip/isp/rkisp.c b/drivers/media/platform/rockchip/isp/rkisp.c index 09166a267990..a7f3a1953a0d 100644 --- a/drivers/media/platform/rockchip/isp/rkisp.c +++ b/drivers/media/platform/rockchip/isp/rkisp.c @@ -3573,15 +3573,6 @@ void rkisp_isp_isr(unsigned int isp_mis, dev->isp_isr_cnt++; /* start edge of v_sync */ if (isp_mis & CIF_ISP_V_START) { - if (dev->isp_state & ISP_FRAME_END) { - u64 tmp = dev->isp_sdev.dbg.interval + - dev->isp_sdev.dbg.timestamp; - - dev->isp_sdev.dbg.timestamp = ktime_get_ns(); - /* v-blank: frame_end - frame_start */ - dev->isp_sdev.dbg.delay = dev->isp_sdev.dbg.timestamp - tmp; - } - rkisp_set_state(&dev->isp_state, ISP_FRAME_VS); if (dev->hw_dev->monitor.is_en) { rkisp_set_state(&dev->hw_dev->monitor.state, ISP_FRAME_VS); if (!completion_done(&dev->hw_dev->monitor.cmpl)) @@ -3702,6 +3693,18 @@ vs_skip: dev->isp_state &= ~ISP_ERROR; } + if (isp_mis & CIF_ISP_V_START) { + if (dev->isp_state & ISP_FRAME_END) { + u64 tmp = dev->isp_sdev.dbg.interval + + dev->isp_sdev.dbg.timestamp; + + dev->isp_sdev.dbg.timestamp = ktime_get_ns(); + /* v-blank: frame(N)start - frame(N-1)end */ + dev->isp_sdev.dbg.delay = dev->isp_sdev.dbg.timestamp - tmp; + } + rkisp_set_state(&dev->isp_state, ISP_FRAME_VS); + } + if ((isp_mis & (CIF_ISP_FRAME | si3a_isr_mask)) || (isp3a_mis & raw3a_isr_mask)) { u32 irq = isp_mis;