lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <a2712f66-f4fe-4753-bfec-dedd60c8210f@ti.com>
Date: Tue, 24 Jun 2025 15:22:39 +0530
From: Yemike Abhilash Chandra <y-abhilashchandra@...com>
To: Rishikesh Donadkar <r-donadkar@...com>, <jai.luthra@...ux.dev>,
        <laurent.pinchart@...asonboard.com>, <mripard@...nel.org>
CC: <devarsht@...com>, <vaishnav.a@...com>, <s-jain1@...com>,
        <vigneshr@...com>, <mchehab@...nel.org>, <robh@...nel.org>,
        <krzk+dt@...nel.org>, <conor+dt@...nel.org>,
        <sakari.ailus@...ux.intel.com>, <hverkuil-cisco@...all.nl>,
        <tomi.valkeinen@...asonboard.com>, <jai.luthra@...asonboard.com>,
        <changhuang.liang@...rfivetech.com>, <jack.zhu@...rfivetech.com>,
        <linux-kernel@...r.kernel.org>, <linux-media@...r.kernel.org>,
        <devicetree@...r.kernel.org>
Subject: Re: [PATCH v4 00/12] media: cadence,ti: CSI2RX Multistream Support

Hi Rishikesh,

Thank you for the patch series.

On 14/05/25 16:55, Rishikesh Donadkar wrote:
> This series adds multi-stream support for Cadence CSI2RX and TI CSI2RX
> SHIM drivers.
> 
> PATCH 1-6:  Support multiple DMA contexts/video nodes in TI CSI2RX
> PATCH 7-8:  Use get_frame_desc to propagate virtual channel
>              information across Cadence and TI CSI-RX subdevs
> PATCH 9-10: Use new multi-stream APIs across the drivers to support
>              multiplexed cameras from sources like UB960 (FPDLink)
> PATCH 11:   Optimize stream on by submitting all queued buffers to DMA
> PATCH 12:   Change the drain architecture to support multi-stream
> 
> Testing for this series has been done on top of media tree with 4x IMX219
> camera modules connected to TI's AM62A using V3 Link fusion mini board.
> 
> Overlay and defconfig changes for the same can be found below:
> https://github.com/RISHI27-dot/linux/commits/u/multistream_v4
> 
> v4l2-compliance results:
> https://gist.github.com/Rishikesh-D/4ddf957da2f62191eefe7a9e5ff212ab
> 

For the entire series,

Reviewed-by: Yemike Abhilash Chandra <y-abhilashchandra@...com>

> ---
> Changes in v4:
> 
> [PATCH 01/13] dt-bindings: media: ti,j721e-csi2rx-shim: Support 32 dma chans
>    - No change
> [PATCH 02/13] media: ti: j721e-csi2rx: separate out device and context
>    - Add ctx identifier in the dev_err() message
>    - No change
> [PATCH 04/13] media: ti: j721e-csi2rx: prepare SHIM code for multiple contexts
>    - Reduced the name string lenght from 32 chars to 5 chars
> [PATCH 05/13] media: ti: j721e-csi2rx: add a subdev for the core device
>    - Add .enum_mbus_code callback
>    - Replace statically allocated struct with a global static const struct
>      v4l2_mbus_framefmt and used that in the _init_state() function
> [PATCH 06/13] media: ti: j721e-csi2rx: get number of contexts from device tree
>    - Fix the drain buffer being leaked
>    - If the shows more number of ctx than the TI_CSI2RX_MAX_CTX, return an error
>      instead of warning
> [PATCH 07/13] media: cadence: csi2rx: add get_frame_desc wrapper
>    - No change
> [PATCH 08/13] media: ti: j721e-csi2rx: add support for processing virtual channels
>    - Call ti_csi2rx_get_vc() only once on first stream start and cache the VC data in
>      the driver, use the corresponding VC in all subsequent stream starts.
> [PATCH 09/13] media: cadence: csi2rx: Use new enable stream APIs
> [PATCH 10/13] media: cadence: csi2rx: Enable multi-stream support
>    - Squash the above two patches into
>      [PATCH v4 09/12] media: cadence: csi2rx: add multistream support
>    - Use already obtained csi2rx->source_pad in enable_streams() and
>      disable_streams() call
>    - Update commit message with the reason for using a custom helper for s_stream
>      instead of v4l2_subdev_s_stream_helper()
>    - Use v4l2_get_link_freq() variant that takes pad of the source as its first
>      argument instead of the one that takes v4l2_ctrl_handler
>    - Call v4l2_get_link_freq() with bpp = 0 to prevent fallback to V4L2_CID_PIXEL_RATE
>      in multi-stream case
>    - Use lock guards to simplify error handling
>    - Call csi2rx_update_vc_select() at first stream start before enabling the controller
> [PATCH 11/13] media: ti: j721e-csi2rx: add multistream support
>    - No change
> [PATCH 12/13] media: ti: j721e-csi2rx: Submit all available buffers
>    - No change
> [PATCH 13/13] media: ti: j721e-csi2rx: Change the drain architecture for multistream
>    - Fix checkpatch warning
>    - Change commit message to give a better description of the patch
> 
> Link to (v3):
>    https://lore.kernel.org/all/20250417065554.437541-1-r-donadkar@ti.com/
> 
> Changes in v3:
> 
> - Drop [PATCH v2 01/13] media: cadence: csi2rx: Support runtime PM from
>    v2, support for runtime PM will be added in a separate series:
>    https://lore.kernel.org/all/20250224-ti_csi_pm-v1-0-8f8c29ef646d@ideasonboard.com/
> - Change the drain architecture to prevent FIFO overflow in multistream
>    usecases.
> - With the new drain architecture, we don't need the the driver to wait
>    for userspace to start streaming on all "actively routed" video nodes
>    before starting streaming on the source. So, revert back to the capture
>    architecture where streams can be started and stopped independent
>    to each other.
> 
> Link to (v2):
>    https://lore.kernel.org/r/20240627-multistream-v2-0-6ae96c54c1c3@ti.com
> 
> Changes in v2:
> 
> - Change the multi-camera capture architecture to be similar to that of
>    Tomi's RPi5 FE series, where the driver will wait for userspace to
>    start streaming on all "actively routed" video nodes before starting
>    streaming on the source. This simplifies things a lot from the HW
>    perspective, which might run into deadlocks due to a shared FIFO
>    between multiple DMA channels.
> 
> - Drop a few fixes that were posted separately and are already merged
> - Fix dtschema warnings reported by Rob on [02/13]
> - Fix warnings for uninitialized `used_vc` variable in cdns-csi2rx.c
> - Return -EBUSY if someone updates routes for j721e-csi2rx subdev while
>    streaming
> - Only allow single-streams to be routed to the source pads (linked to
>    video nodes) of the j721e-csi2rx device
> - Squash the patches marked "SQUASH" in the v1 RFC series
> 
> Link to RFC (v1):
> https://lore.kernel.org/r/20240222-multistream-v1-0-1837ed916eeb@ti.com
> 
> 
> Jai Luthra (7):
>    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
>    media: ti: j721e-csi2rx: add support for processing virtual channels
>    media: cadence: csi2rx: add multistream support
>    media: ti: j721e-csi2rx: add multistream support
>    media: ti: j721e-csi2rx: Submit all available buffers
> 
> Pratyush Yadav (4):
>    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
> 
> Rishikesh Donadkar (1):
>    media: ti: j721e-csi2rx: Change the drain architecture for multistream
> 
>   .../bindings/media/ti,j721e-csi2rx-shim.yaml  |  39 +-
>   drivers/media/platform/cadence/cdns-csi2rx.c  | 372 +++++--
>   .../platform/ti/j721e-csi2rx/j721e-csi2rx.c   | 958 +++++++++++++-----
>   3 files changed, 1025 insertions(+), 344 deletions(-)
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ