media: rkisp1: isp: Start CSI-2 receiver before ISP

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@ideasonboard.com>
Reviewed-by: Dafna Hirschfeld <dafna@fastmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
This commit is contained in:
Laurent Pinchart 2022-06-14 20:10:51 +01:00 committed by Mauro Carvalho Chehab
parent 8082e2f499
commit 4fd1e6a9ab

View File

@ -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) {