Re: [PATCH v7 11/16] media: ti: j721e-csi2rx: add multistream support
From: Rishikesh Donadkar
Date: Tue Nov 11 2025 - 07:21:11 EST
On 07/10/25 17:22, Jai Luthra wrote:
Hi Tomi,
Quoting Tomi Valkeinen (2025-09-25 17:47:38)
Hi,I believe DT filtering should work as-is with the current driver, given we
On 11/09/2025 13:28, Rishikesh Donadkar wrote:
From: Jai Luthra <j-luthra@xxxxxx>The split can also be done with the datatype. I don't see it supported
Each CSI2 stream can be multiplexed into 4 independent streams, each
identified by its virtual channel number. To capture this multiplexed
in the driver, but afaics the HW supports it. Was there a reason not to
support DT filtering? I would think it would be very simple addition.
program the SHIM DMACNTX register with the correct datatype depending upon
the v4l2 format of the video node.
So if there is multi-stream source with two different datatypes, it should
be possible to route it to different video devices and it "just" works. But
I agree that it would be good if it can be tested once, and this commit
message can mention that both VC and DT based filtering is supported.
Rishikesh, would you be able to use an IMX219 to test capturing embedded
data and frame data?
Yes, DT filtering works. I tried hard coding 0x12 (CSI DT for embedded data) in the DATTYP_CFG field of the DMACNTX_J register and captured frames from IMX219 using yavta and viewed that using xxd. I can see first few lines are that of embedded data, I can see the tags as mentioned in the 'CSI-2 Embedded Data Line' section of the IMX219 datasheet[1]. I will mention this in the commit message as well.
[1] : https://www.opensourceinstruments.com/Electronics/Data/IMX219PQ.pdf
Thanks,
Rishikesh
TomiThanks,
Jai
[snip]stream, the application needs to tell the driver how it wants to route
the data. It needs to specify which context should process which stream.
This is done via the new routing APIs.
Add ioctls to accept routing information from the application and save
that in the driver. This can be used when starting streaming on a
context to determine which route and consequently which virtual channel
it should process.
Support the new enable_stream()/disable_stream() APIs in the subdev
instead of s_stream() hook.
De-assert the pixel interface reset on first start_streaming() and assert
it on the last stop_streaming().
Reviewed-by: Yemike Abhilash Chandra <y-abhilashchandra@xxxxxx>
Co-developed-by: Pratyush Yadav <p.yadav@xxxxxx>
Signed-off-by: Pratyush Yadav <p.yadav@xxxxxx>
Signed-off-by: Jai Luthra <j-luthra@xxxxxx>
Co-developed-by: Rishikesh Donadkar <r-donadkar@xxxxxx>
Signed-off-by: Rishikesh Donadkar <r-donadkar@xxxxxx>