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@xxxxxxxxxxxxxxxx>
---
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