[PATCH v3 20/46] media: rkisp1: isp: Start CSI-2 receiver before ISP
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Mon Jul 11 05:42:22 PDT 2022
Make sure the ISP is ready to receive data before starting the CSI-2
receiver by starting it first. Similarly, stop the CSI-2 receiver before
the ISP when stopping streaming.
Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Reviewed-by: Dafna Hirschfeld <dafna at fastmail.com>
---
drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
index c05148dd32c0..81c4eb48baab 100644
--- a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
+++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
@@ -771,8 +771,9 @@ static int rkisp1_isp_s_stream(struct v4l2_subdev *sd, int enable)
v4l2_subdev_call(rkisp1->active_sensor->sd, video, s_stream,
false);
- rkisp1_isp_stop(rkisp1);
rkisp1_mipi_csi2_stop(&rkisp1->csi);
+ rkisp1_isp_stop(rkisp1);
+
return 0;
}
@@ -794,12 +795,14 @@ static int rkisp1_isp_s_stream(struct v4l2_subdev *sd, int enable)
if (ret)
goto mutex_unlock;
- ret = rkisp1_mipi_csi2_start(&rkisp1->csi, rkisp1->active_sensor);
- if (ret)
- goto mutex_unlock;
-
rkisp1_isp_start(rkisp1);
+ ret = rkisp1_mipi_csi2_start(&rkisp1->csi, rkisp1->active_sensor);
+ if (ret) {
+ rkisp1_isp_stop(rkisp1);
+ goto mutex_unlock;
+ }
+
ret = v4l2_subdev_call(rkisp1->active_sensor->sd, video, s_stream,
true);
if (ret) {
--
Regards,
Laurent Pinchart
More information about the Linux-rockchip
mailing list