From 6af2e086d0ffa24cca85f8aa16a56a028a489d0f Mon Sep 17 00:00:00 2001 From: Jianwei Fan Date: Mon, 21 Apr 2025 17:06:31 +0800 Subject: [PATCH] media: i2c: rk628: fix rk628d should not reset txdata when stream on Signed-off-by: Jianwei Fan Change-Id: I7e1e793882bbc214da7a9591efd32fd4a09c0c8a --- drivers/media/i2c/rk628/rk628_csi_v4l2.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/media/i2c/rk628/rk628_csi_v4l2.c b/drivers/media/i2c/rk628/rk628_csi_v4l2.c index bbbb36d284ef..b4c058d3e55f 100644 --- a/drivers/media/i2c/rk628/rk628_csi_v4l2.c +++ b/drivers/media/i2c/rk628/rk628_csi_v4l2.c @@ -956,7 +956,8 @@ static void enable_stream(struct v4l2_subdev *sd, bool en) enable_csitx(sd); rk628_hdmirx_vid_enable(sd, true); - if (csi->plat_data->tx_mode == CSI_MODE) { + if (csi->plat_data->tx_mode == CSI_MODE && + csi->rk628->version >= RK628F_VERSION) { msleep(20); rk628_mipi_txdata_reset(sd); rk628_csi_enable_csi_interrupts(sd, true); @@ -968,8 +969,10 @@ static void enable_stream(struct v4l2_subdev *sd, bool en) GCPFORCE_CLRAVMUTE_MASK, GCPFORCE_CLRAVMUTE(0)); } else { if (csi->plat_data->tx_mode == CSI_MODE) { - rk628_csi_enable_csi_interrupts(sd, false); - msleep(20); + if (csi->rk628->version >= RK628F_VERSION) { + rk628_csi_enable_csi_interrupts(sd, false); + msleep(20); + } rk628_hdmirx_vid_enable(sd, false); rk628_csi_disable_stream(sd); } else {