diff --git a/drivers/media/platform/rockchip/isp/capture_v21.c b/drivers/media/platform/rockchip/isp/capture_v21.c index 485e9551e643..a30e978854b6 100644 --- a/drivers/media/platform/rockchip/isp/capture_v21.c +++ b/drivers/media/platform/rockchip/isp/capture_v21.c @@ -546,6 +546,9 @@ static int dmatx2_config_mi(struct rkisp_stream *stream) mi_wr_ctrl2(base, SW_RAW1_WR_AUTOUPD); mi_raw_length(stream); vc = csi->sink[CSI_SRC_CH3 - 1].index; + /* short frame for esp mode */ + if (dev->hdr.esp_mode != HDR_NORMAL_VC) + vc = 2; val = SW_CSI_RAW_WR_CH_EN(vc); val |= stream->memory; if (dev->hdr.op_mode != HDR_NORMAL) @@ -589,6 +592,9 @@ static int dmatx0_config_mi(struct rkisp_stream *stream) mi_wr_ctrl2(base, SW_RAW0_WR_AUTOUPD); mi_raw_length(stream); vc = csi->sink[CSI_SRC_CH1 - 1].index; + /* long frame for esp mode */ + if (dev->hdr.esp_mode != HDR_NORMAL_VC) + vc = 1; val = SW_CSI_RAW_WR_CH_EN(vc); val |= stream->memory; if (dev->hdr.op_mode != HDR_NORMAL)