This series adds multi-stream support for Cadence CSI2RX and TI CSI2RX Shim drivers, along with minor improvements and bug fixes. It is a follow up to [1] which added single-camera support for TI CSI2RX. Posting this as an RFC as it is late in this merge window, will post a non-RFC v2 fixing any comments after v6.9-rc1 is tagged. Some of the patches are split to ease review, and are prefixed with "SQUASH" in the subject. They can be squashed in subsequent revisions, as they should ideally go as a single commit. PATCH 1-3: Misc. fixes and improvements PATCH 4-10: Support multiple DMA contexts/video nodes in TI CSI2RX PATCH 11-12: Use get_frame_desc to propagate virtual channel information across the different subdevs in the media pipeline PATCH 13-20: Use new multi-stream APIs across the drivers to support multiplexed cameras from sources like UB960 (FPDLink) PATCH 21: Optimize stream on by submitting all queued buffers to DMA [1]: https://lore.kernel.org/all/20231009-upstream_csi-v10-0-330aaed24c5d@xxxxxx/ Signed-off-by: Jai Luthra <j-luthra@xxxxxx> --- Jai Luthra (15): media: ti: j721e-csi2rx: Fix races while restarting DMA dt-bindings: media: ti,j721e-csi2rx-shim: Support 32 dma chans media: ti: j721e-csi2rx: separate out device and context media: ti: j721e-csi2rx: add a subdev for the core device SQUASH: media: ti: j721e-csi2rx: Fix link validation for multi-stream media: ti: j721e-csi2rx: add support for processing virtual channels media: cadence: csi2rx: Use new enable stream APIs media: cadence: csi2rx: Enable stream-wise routing SQUASH: media: cadence: csi2rx: Enable per-stream controls SQUASH: media: cadence: csi2rx: Filter using MIPI virtual channels SQUASH: media: cadence: csi2rx: Filter streams in get_frame_desc media: ti: j721e-csi2rx: add multistream support SQUASH: media: ti: j721e-csi2rx: Enable per-stream controls SQUASH: media: ti: j721e-csi2rx: Assert pixel reset before stopping last stream media: ti: j721e-csi2rx: Submit all available buffers Jayshri Pawar (1): media: cadence: csi2rx: Support runtime PM Pratyush Yadav (5): media: cadence: csi2rx: configure DPHY before starting source stream media: ti: j721e-csi2rx: prepare SHIM code for multiple contexts media: ti: j721e-csi2rx: allocate DMA channel based on context index media: ti: j721e-csi2rx: get number of contexts from device tree media: cadence: csi2rx: add get_frame_desc wrapper .../bindings/media/ti,j721e-csi2rx-shim.yaml | 40 +- drivers/media/platform/cadence/cdns-csi2rx.c | 460 +++++++++-- .../media/platform/ti/j721e-csi2rx/j721e-csi2rx.c | 853 +++++++++++++++------ 3 files changed, 1052 insertions(+), 301 deletions(-) --- base-commit: d894a2a286fccd6e47cd1cac4c2d4ff5d300d7c7 change-id: 20240221-multistream-fbba6ffe47a3 Best regards, -- Jai Luthra <j-luthra@xxxxxx>