From bddc67dd109bd765adf38f52ba5d137f5f7e5139 Mon Sep 17 00:00:00 2001 From: Zefa Chen Date: Tue, 6 Aug 2024 11:33:03 +0800 Subject: [PATCH] media: rockchip: vicap clean fs intr state before set fs intr enable Signed-off-by: Zefa Chen Change-Id: Ia4a5370ae4720c9d72b05361eb0ea4087ff61af1 --- drivers/media/platform/rockchip/cif/capture.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/media/platform/rockchip/cif/capture.c b/drivers/media/platform/rockchip/cif/capture.c index 76c36e2b32ff..a891fe6d0343 100644 --- a/drivers/media/platform/rockchip/cif/capture.c +++ b/drivers/media/platform/rockchip/cif/capture.c @@ -11535,6 +11535,8 @@ void rkcif_enable_dma_capture(struct rkcif_stream *stream, bool is_only_enable) } else { val |= CSI_DMA_ENABLE_RK3576; uncompact = CSI_WRDDR_TYPE_RAW_UNCOMPACT << 3; + rkcif_write_register(cif_dev, CIF_REG_MIPI_LVDS_INTSTAT, + CSI_START_INTSTAT_RK3576(stream->id)); rkcif_write_register_or(cif_dev, CIF_REG_MIPI_LVDS_INTEN, CSI_START_INTEN_RK3576(stream->id)); } @@ -11949,6 +11951,9 @@ static void rkcif_deal_sof(struct rkcif_device *cif_dev) int i = 0; int ret = 0; + if (cif_dev->chip_id >= CHIP_RK3576_CIF && (!detect_stream->dma_en)) + return; + if (cif_dev->chip_id < CHIP_RK3588_CIF) detect_stream->fs_cnt_in_single_frame++; spin_lock_irqsave(&detect_stream->fps_lock, flags);