media: rkisp1: Move sensor .s_stream() call to ISP
Move the calls to the active sensor's .s_stream() operation to the ISP subdev's .s_stream(). This groups all handling of the active sensor in one place, preparing for a rework of that code. 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:
parent
fc890f00d0
commit
deaf1120ab
|
@ -926,11 +926,8 @@ static void rkisp1_pipeline_stream_disable(struct rkisp1_capture *cap)
|
|||
* If the other capture is streaming, isp and sensor nodes shouldn't
|
||||
* be disabled, skip them.
|
||||
*/
|
||||
if (rkisp1->pipe.streaming_count < 2) {
|
||||
v4l2_subdev_call(rkisp1->active_sensor->sd, video, s_stream,
|
||||
false);
|
||||
if (rkisp1->pipe.streaming_count < 2)
|
||||
v4l2_subdev_call(&rkisp1->isp.sd, video, s_stream, false);
|
||||
}
|
||||
|
||||
v4l2_subdev_call(&rkisp1->resizer_devs[cap->id].sd, video, s_stream,
|
||||
false);
|
||||
|
@ -966,15 +963,8 @@ static int rkisp1_pipeline_stream_enable(struct rkisp1_capture *cap)
|
|||
if (ret)
|
||||
goto err_disable_rsz;
|
||||
|
||||
ret = v4l2_subdev_call(rkisp1->active_sensor->sd, video, s_stream,
|
||||
true);
|
||||
if (ret)
|
||||
goto err_disable_isp;
|
||||
|
||||
return 0;
|
||||
|
||||
err_disable_isp:
|
||||
v4l2_subdev_call(&rkisp1->isp.sd, video, s_stream, false);
|
||||
err_disable_rsz:
|
||||
v4l2_subdev_call(&rkisp1->resizer_devs[cap->id].sd, video, s_stream,
|
||||
false);
|
||||
|
|
|
@ -857,6 +857,9 @@ static int rkisp1_isp_s_stream(struct v4l2_subdev *sd, int enable)
|
|||
int ret = 0;
|
||||
|
||||
if (!enable) {
|
||||
v4l2_subdev_call(rkisp1->active_sensor->sd, video, s_stream,
|
||||
false);
|
||||
|
||||
rkisp1_isp_stop(rkisp1);
|
||||
rkisp1_mipi_csi2_stop(rkisp1->active_sensor);
|
||||
return 0;
|
||||
|
@ -886,6 +889,14 @@ static int rkisp1_isp_s_stream(struct v4l2_subdev *sd, int enable)
|
|||
|
||||
rkisp1_isp_start(rkisp1);
|
||||
|
||||
ret = v4l2_subdev_call(rkisp1->active_sensor->sd, video, s_stream,
|
||||
true);
|
||||
if (ret) {
|
||||
rkisp1_isp_stop(rkisp1);
|
||||
rkisp1_mipi_csi2_stop(rkisp1->active_sensor);
|
||||
goto mutex_unlock;
|
||||
}
|
||||
|
||||
mutex_unlock:
|
||||
mutex_unlock(&isp->ops_lock);
|
||||
return ret;
|
||||
|
|
Loading…
Reference in New Issue