Hi Mauro, This set contains support for multiple streams over a single MC link, a set that has been out of tree for more than five years, has worked on by more than five people in their turns. I think it is now ready for upstream. Source sub-devices with multiple streams aren't supported yet but the intent is to add the support soon. Using the new APII requires setting v4l2_subdev_enable_streams_api in drivers/media/v4l2-core/v4l2-subdev.c to true, so no new API is exposed to the user space quite yet. The intent is also to change this soon, possibly for 6.3 but may well slip to 6.4. Please pull. The following changes since commit 6599e683db1bf22fee74302c47e31b9a42a1c3d2: Merge tag 'v6.2-rc1' into media_tree (2022-12-28 16:07:44 +0000) are available in the Git repository at: git://linuxtv.org/sailus/media_tree.git tags/streams-6.3-signed for you to fetch changes up to 544460242d995547fae963141fd4101579969191: media: Documentation: Update documentation for streams (2023-01-12 15:36:16 +0200) ---------------------------------------------------------------- V4L2 streams for 6.3 ---------------------------------------------------------------- Jacopo Mondi (2): media: Documentation: Add GS_ROUTING documentation media: subdev: Add for_each_active_route() macro Laurent Pinchart (5): media: subdev: Add [GS]_ROUTING subdev ioctls and operations media: subdev: add v4l2_subdev_routing_validate() helper media: v4l2-subdev: Add v4l2_subdev_state_xlate_streams() helper media: v4l2-subdev: Add subdev .(enable|disable)_streams() operations media: v4l2-subdev: Add v4l2_subdev_s_stream_helper() function Sakari Ailus (2): media: Add stream to frame descriptor media: Documentation: Update documentation for streams Tomi Valkeinen (12): media: v4l2-subdev: Sort includes media: add V4L2_SUBDEV_FL_STREAMS media: add V4L2_SUBDEV_CAP_STREAMS media: subdev: Require code change to enable [GS]_ROUTING media: subdev: add v4l2_subdev_has_pad_interdep() media: subdev: add v4l2_subdev_set_routing helper() media: Documentation: add multiplexed streams documentation media: subdev: add stream based configuration media: subdev: use streams in v4l2_subdev_link_validate() media: subdev: add "opposite" stream helper funcs media: subdev: add streams to v4l2_subdev_get_fmt() helper function media: subdev: add v4l2_subdev_set_routing_with_fmt() helper .clang-format | 1 + Documentation/driver-api/media/v4l2-subdev.rst | 8 + .../userspace-api/media/v4l/dev-subdev.rst | 166 ++++ .../userspace-api/media/v4l/user-func.rst | 1 + .../v4l/vidioc-subdev-enum-frame-interval.rst | 5 +- .../media/v4l/vidioc-subdev-enum-frame-size.rst | 5 +- .../media/v4l/vidioc-subdev-enum-mbus-code.rst | 5 +- .../media/v4l/vidioc-subdev-g-crop.rst | 5 +- .../media/v4l/vidioc-subdev-g-fmt.rst | 5 +- .../media/v4l/vidioc-subdev-g-frame-interval.rst | 5 +- .../media/v4l/vidioc-subdev-g-routing.rst | 147 +++ .../media/v4l/vidioc-subdev-g-selection.rst | 5 +- drivers/media/v4l2-core/v4l2-ioctl.c | 25 +- drivers/media/v4l2-core/v4l2-subdev.c | 1000 +++++++++++++++++++- include/media/v4l2-subdev.h | 377 ++++++++ include/uapi/linux/v4l2-subdev.h | 74 +- 16 files changed, 1784 insertions(+), 50 deletions(-) create mode 100644 Documentation/userspace-api/media/v4l/vidioc-subdev-g-routing.rst -- Kind regards, Sakari Ailus