[PATCH 11/55] media: rkisp1: Move sensor .s_stream() call to ISP
Dafna Hirschfeld
dafna at fastmail.com
Fri Jun 24 08:14:56 PDT 2022
On 15.06.2022 04:10, Paul Elder wrote:
>From: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
>
>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 at ideasonboard.com>
Reviewed-by Dafna Hirschfeld <dafna at fastmail.com>
>---
> .../media/platform/rockchip/rkisp1/rkisp1-capture.c | 12 +-----------
> drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c | 11 +++++++++++
> 2 files changed, 12 insertions(+), 11 deletions(-)
>
>diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c
>index 94a0d787a312..9edaa95fa44c 100644
>--- a/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c
>+++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c
>@@ -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);
>diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
>index 89577119b571..58cf6d21f1eb 100644
>--- a/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
>+++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-isp.c
>@@ -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;
>--
>2.30.2
>
More information about the Linux-rockchip
mailing list