Hello, this series is based on v9 of Tomi's "v4l: subdev internal routing and streams": With a few out-of-tree patches for GMSL support on top. The series aims to 1) Plumb into Tomi's v4l2 subdev streams and routing to compare it with the previous implementations of multistream support 2) Add support for multiplexed streams to R-Car CSI-2 and MAX9286 For testing, I have re-proposed Niklas' patches on top of v4l2-ctl to control routing and ported them to this last version. Support for state-based format handling has been added on top. Two simple scripts to be deployed in vin-test have been used to set routing and capture frames. Both are available at: https://git.sr.ht/~jmondi_/v4l2-utils https://git.sr.ht/~jmondi_/vin-test-multi v2 contains changes to max9286 and R-Car CSI-2 while changes to support routing VIN are still WIP and not included. Tested on Eagle V3M by routing VC0 and VC1 to VIN0 and VIN3 respectively. Thanks j v1->v2: - Rebase on Tomi's v9 - Break-out max9286 and CSI-2 mux support - Add for_each_active_route() macro - Add get_frame_desc to R-Car CSI-2 Jacopo Mondi (13): media: max9286: Add support for v4l2_subdev_state media: max9286: Implement set_routing media: max9286: Use enabled routes to calculate pixelrate media: max9286: Use routes to configure link order media: max9286: Move format to subdev state media: subdev: Add for_each_active_route() macro media: max9286: Implement get_frame_desc() media: rcar-csi2: Add support for v4l2_subdev_state media: rcar-csi2: Implement set_routing media: rcar-csi2: Move format to subdev state media: rcar-csi2: Config by using the remote frame_desc media: rcar-csi2: Implement .get_frame_desc() media: rcar-vin: Support multiplexed CSI-2 receiver drivers/media/i2c/ds90ub913.c | 8 +- drivers/media/i2c/ds90ub953.c | 7 +- drivers/media/i2c/ds90ub960.c | 8 +- drivers/media/i2c/max9286.c | 448 ++++++++++++++------ drivers/media/platform/rcar-vin/rcar-csi2.c | 338 ++++++++++++--- drivers/media/platform/rcar-vin/rcar-dma.c | 3 +- drivers/media/platform/ti-vpe/cal-video.c | 9 +- drivers/media/v4l2-core/v4l2-subdev.c | 18 + include/media/v4l2-subdev.h | 11 + 9 files changed, 640 insertions(+), 210 deletions(-) -- 2.33.0