[PATCH RFC 00/21] media: cadence,ti: CSI2RX Multistream Support

From: Jai Luthra
Date: Thu Feb 22 2024 - 06:33:51 EST


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>