Message ID | 20211130141536.891878-26-tomi.valkeinen@ideasonboard.com |
---|---|
State | Superseded |
Headers | show |
Series | v4l: subdev internal routing and streams | expand |
Hi Tomi, On Tue, Nov 30, 2021 at 04:15:23PM +0200, Tomi Valkeinen wrote: > Add subdev flag V4L2_SUBDEV_FL_MULTIPLEXED. It is used to indicate that > the subdev supports the new API with multiplexed streams (routing, > stream configs). > > Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> > --- > include/media/v4l2-subdev.h | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h > index a82fc74f4646..45861bcdccf5 100644 > --- a/include/media/v4l2-subdev.h > +++ b/include/media/v4l2-subdev.h > @@ -892,6 +892,17 @@ struct v4l2_subdev_internal_ops { > * should set this flag. > */ > #define V4L2_SUBDEV_FL_HAS_EVENTS (1U << 3) > +/* > + * Set this flag if this subdev supports multiplexed streams. This means > + * that the driver supports routing and handles the stream parameter in its > + * v4l2_subdev_pad_ops handlers. More specifically, this means: > + * > + * - Centrally managed active state is enabled > + * - Legacy pad config is _not_ supported (state->pads) Does this still apply after pad config has been replaced by try states ? Otherwise Reviewed-by: Jacopo Mondi <jacopo+renesas@jmondi.org> Thanks j > + * - Routing ioctls are available > + * - Multiple streams per pad are supported > + */ > +#define V4L2_SUBDEV_FL_MULTIPLEXED (1U << 4) > > struct regulator_bulk_data; > > -- > 2.25.1 >
On 14/12/2021 10:41, Jacopo Mondi wrote: > Hi Tomi, > > On Tue, Nov 30, 2021 at 04:15:23PM +0200, Tomi Valkeinen wrote: >> Add subdev flag V4L2_SUBDEV_FL_MULTIPLEXED. It is used to indicate that >> the subdev supports the new API with multiplexed streams (routing, >> stream configs). >> >> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> >> --- >> include/media/v4l2-subdev.h | 11 +++++++++++ >> 1 file changed, 11 insertions(+) >> >> diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h >> index a82fc74f4646..45861bcdccf5 100644 >> --- a/include/media/v4l2-subdev.h >> +++ b/include/media/v4l2-subdev.h >> @@ -892,6 +892,17 @@ struct v4l2_subdev_internal_ops { >> * should set this flag. >> */ >> #define V4L2_SUBDEV_FL_HAS_EVENTS (1U << 3) >> +/* >> + * Set this flag if this subdev supports multiplexed streams. This means >> + * that the driver supports routing and handles the stream parameter in its >> + * v4l2_subdev_pad_ops handlers. More specifically, this means: >> + * >> + * - Centrally managed active state is enabled >> + * - Legacy pad config is _not_ supported (state->pads) > > Does this still apply after pad config has been replaced by try states ? What do you mean? If a subdev is V4L2_SUBDEV_FL_MULTIPLEXED, state->pads is NULL, so there's no legacy pad config available. Tomi
diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h index a82fc74f4646..45861bcdccf5 100644 --- a/include/media/v4l2-subdev.h +++ b/include/media/v4l2-subdev.h @@ -892,6 +892,17 @@ struct v4l2_subdev_internal_ops { * should set this flag. */ #define V4L2_SUBDEV_FL_HAS_EVENTS (1U << 3) +/* + * Set this flag if this subdev supports multiplexed streams. This means + * that the driver supports routing and handles the stream parameter in its + * v4l2_subdev_pad_ops handlers. More specifically, this means: + * + * - Centrally managed active state is enabled + * - Legacy pad config is _not_ supported (state->pads) + * - Routing ioctls are available + * - Multiple streams per pad are supported + */ +#define V4L2_SUBDEV_FL_MULTIPLEXED (1U << 4) struct regulator_bulk_data;
Add subdev flag V4L2_SUBDEV_FL_MULTIPLEXED. It is used to indicate that the subdev supports the new API with multiplexed streams (routing, stream configs). Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> --- include/media/v4l2-subdev.h | 11 +++++++++++ 1 file changed, 11 insertions(+)