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);