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. since v1: - Fix documentation build and compile warnings. 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-2-signed for you to fetch changes up to 314a1ebb85475f982dc18069558ed6d3e64f2866: media: Documentation: Update documentation for streams (2023-01-16 12:27:08 +0200) ---------------------------------------------------------------- Streams for v6.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 | 1002 +++++++++++++++++++- include/media/v4l2-subdev.h | 377 ++++++++ include/uapi/linux/v4l2-subdev.h | 74 +- 16 files changed, 1786 insertions(+), 50 deletions(-) create mode 100644 Documentation/userspace-api/media/v4l/vidioc-subdev-g-routing.rst -- Kind regards, Sakari Ailus