]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
media: staging: imx-csi: explicitly start media pipeline on pad 0
authorMichael Tretter <m.tretter@pengutronix.de>
Thu, 18 Dec 2025 09:23:50 +0000 (10:23 +0100)
committerHans Verkuil <hverkuil+cisco@kernel.org>
Wed, 27 May 2026 08:58:27 +0000 (10:58 +0200)
entity->pads is an array that contains all the pads of an entity.

Calling __media_pipeline_start() or __media_pipeline_stop() on the pads,
implicitly starts the pipeline with the first pad in this array as origin.

Explicitly use the first pad to start the pipeline to make this more
obvious to the reader.

Reviewed-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Michael Tretter <m.tretter@pengutronix.de>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
drivers/staging/media/imx/imx-media-utils.c

index f520529a7cfe9c346f1da4c0ad4713cf1747eb8a..bd9af147a80105b6f9e60a6ded12af0c288ce56c 100644 (file)
@@ -754,6 +754,7 @@ int imx_media_pipeline_set_stream(struct imx_media_dev *imxmd,
                                  bool on)
 {
        struct v4l2_subdev *sd;
+       struct media_pad *pad;
        int ret = 0;
 
        if (!is_media_entity_v4l2_subdev(entity))
@@ -762,17 +763,19 @@ int imx_media_pipeline_set_stream(struct imx_media_dev *imxmd,
 
        mutex_lock(&imxmd->md.graph_mutex);
 
+       pad = &entity->pads[0];
+
        if (on) {
-               ret = __media_pipeline_start(entity->pads, &vdev->pipe);
+               ret = __media_pipeline_start(pad, &vdev->pipe);
                if (ret)
                        goto out;
                ret = v4l2_subdev_call(sd, video, s_stream, 1);
                if (ret)
-                       __media_pipeline_stop(entity->pads);
+                       __media_pipeline_stop(pad);
        } else {
                v4l2_subdev_call(sd, video, s_stream, 0);
-               if (media_pad_pipeline(entity->pads))
-                       __media_pipeline_stop(entity->pads);
+               if (media_pad_pipeline(pad))
+                       __media_pipeline_stop(pad);
        }
 
 out: