Re: [PATCH v4 23/29] media: Improve enable_streams and disable_streams documentation

Sakari Ailus
2026-04-21T15:35:14Z

Hi Laurent,

On Thu, Apr 16, 2026 at 06:49:14PM +0300, Laurent Pinchart wrote:
> On Wed, Apr 08, 2026 at 06:39:32PM +0300, Sakari Ailus wrote:
> > Document that enable_streams may start additional streams and
> > disable_streams may not disable requested streams if other related streams
> > are still enabled.
> >
> > Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
> > Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
> > Reviewed-by: Mirela Rabulea <mirela.rabulea@nxp.com>
> > ---
> > include/media/v4l2-subdev.h | 7 +++++++
> > 1 file changed, 7 insertions(+)
> >
> > diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h
> > index d256b7ec8f84..4588992b4417 100644
> > --- a/include/media/v4l2-subdev.h
> > +++ b/include/media/v4l2-subdev.h
> > @@ -814,6 +814,10 @@ struct v4l2_subdev_state {
> > * V4L2_SUBDEV_CAP_STREAMS sub-device capability flag can ignore the mask
> > * argument.
> > *
> > + * Starting the requested streams may require starting additional
> > + * streams. Streams that are started together due to hardware are called a
> > + * stream group.
> > + *
> > * @disable_streams: Disable the streams defined in streams_mask on the given
> > * source pad. Subdevs that implement this operation must use the active
> > * state management provided by the subdev core (enabled through a call to
> > @@ -823,6 +827,9 @@ struct v4l2_subdev_state {
> > * Drivers that support only a single stream without setting the
> > * V4L2_SUBDEV_CAP_STREAMS sub-device capability flag can ignore the mask
> > * argument.
> > + *
> > + * A stream group is disabled when one or more streams in the stream
> > + * group are disabled.
>
> This contradicts the commit message. Did you mean that a stream group
> will be disabled when all the streams it contains are disabled ?

It was meant to say that a stream group will stop streaming once all
streams have been disabled. I'll fix this for v5.

>
> > */
> > struct v4l2_subdev_pad_ops {
> > int (*enum_mbus_code)(struct v4l2_subdev *sd,
>

--
Regards,

Sakari Ailus