On 12/10/2021 17:48, Hans Verkuil wrote:
On 05/10/2021 10:57, 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 b3a72c98a2d3..7f9c83fac020 100644
--- a/include/media/v4l2-subdev.h
+++ b/include/media/v4l2-subdev.h
@@ -888,6 +888,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)
I'm not sure what is meant with this. Can you elaborate?
It means that a subdev with V4L2_SUBDEV_FL_MULTIPLEXED cannot use the
legacy pads array in the state (state->pads is NULL), as multiplexed
streams requires streams support. For streams you need the routing &
stream configs, added in the following patches.
Tomi
Regards,
Hans
+ * - Routing ioctls are available
+ * - Multiple streams per pad are supported
+ */
+#define V4L2_SUBDEV_FL_MULTIPLEXED (1U << 4)
struct regulator_bulk_data;