devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Keke Li <keke.li@amlogic.com>
To: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>,
	Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	linux-media@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, kieran.bingham@ideasonboard.com,
	laurent.pinchart@ideasonboard.com, dan.scally@ideasonboard.com
Subject: Re: [PATCH v3 2/9] media: platform: Add c3 mipi csi2 driver
Date: Wed, 6 Nov 2024 10:10:58 +0800	[thread overview]
Message-ID: <868d13a7-66d2-445c-895f-5cab3e71f1ef@amlogic.com> (raw)
In-Reply-To: <9becfc3f-1dfa-46d3-8afe-81c8e6b59800@ideasonboard.com>

Hi Tomi

Thanks very much for your reply.

On 2024/11/5 20:08, Tomi Valkeinen wrote:
> [ EXTERNAL EMAIL ]
>
> Hi,
>
> On 05/11/2024 13:39, Jacopo Mondi wrote:
>
>>>> Could you clarify what other streams you plan to support ? As you
>>>> support routing I presume you are preparing to capture
>>>> multiple streams of data like image + embedded data, or to support
>>>> sensors which sends data on different virtual channels ?
>>>>
>>>> How do you see this driver evolve ? Will it be augmented with an
>>>> additional source pad directed to a video device where to capture
>>>> embedded data from ?
>>>>
>>>> I'm wondering because if PAD_SINK become multiplexed, you won't be
>>>> allowed to set a format there. It only works now because you have a
>>>> single stream.
>>>>
>>>> Speaking of which, as you prepare to support multiple streams, I would
>>>> specify the stream number when calling v4l2_subdev_state_get_format().
>>>>
>>>>           fmt = v4l2_subdev_state_get_format(state, format->pad, 0);
>>>>
>>> Thanks for your suggestion.
>>>
>>> But this MIPI CSI2 hardware module doesn't have the ability to 
>>> separate data
>>> , such as image + embedded data.
>>>
>>> So there are no plans to support other streams.
>>
>> I see. Now that I've reviewed the adapter subdevice path I realized
>> that it's the adapter that can split data based on VC/DT to either the
>> ISP direct path or to DDR.
>>
>> The CSI-2 RX then transports streams as received from the sensor
>> directly to the adapter.
>>
>> In order to support capturing embedded data to DDR in the adapter the
>> embedded data stream needs a representation in this subdevice as well,
>> so that the source pad is multiplexed as well and the adapter receives
>> two streams that it can eventually split.
>>
>>
>>        Sensor         CSI-2Rx         Adapter
>>     +-----------+     +------+       +--------+
>>     0-- ED --\  |     |      |       |     /->0---> Embedded Data (DDR)
>>     |         ->0====>0 ==== 0 ====> 0====|   |
>>     0-- I ---/  |     |      |       |     \->0---> Image (ISP)
>>     +-----------+     +------+       +--------+
>>
>> When going to support embedded data capture this driver should create
>> two routes and allow enabling/disabling the embedded data one.
>
> This depends on the hardware. What's the bus between the CSI-2 rx and
> the adapter? If it's a custom bus that basically allows passing forward
> anything received from the CSI-2 bus, then the user should be free to
> configure any routes in the CSI-2 RX subdevice.
>
The bus between CSI-2 rx and the adapter is not a custom bus and can't

be configured by user.

> The adapter subdev, however, as it is limited by the HW, should only
> support two streams if that is what the hardware supports.
>
Yes,  the adapter HW only supports embedded data and image.
>> Tomi in cc for inputs.
>>
>> For now, if you don't support capturing embedded data, I would remove
>> routing support from here and from the adapter.
>
> Right, if the drivers only support a single stream, just drop the
> routing support.
>
>  Tomi
>
Will drop the routing support due to the hardware limit.



  reply	other threads:[~2024-11-06  2:11 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-18  6:07 [PATCH v3 0/9] Amlogic C3 ISP support Keke Li via B4 Relay
2024-09-18  6:07 ` [PATCH v3 1/9] dt-bindings: media: Add amlogic,c3-mipi-csi2.yaml Keke Li via B4 Relay
2024-09-18  6:07 ` [PATCH v3 2/9] media: platform: Add c3 mipi csi2 driver Keke Li via B4 Relay
2024-11-04 17:50   ` Jacopo Mondi
2024-11-05 10:06     ` Jacopo Mondi
2024-11-05 11:40       ` Keke Li
2024-11-05 11:21     ` Keke Li
2024-11-05 11:39       ` Jacopo Mondi
2024-11-05 11:58         ` Keke Li
2024-11-05 12:08         ` Tomi Valkeinen
2024-11-06  2:10           ` Keke Li [this message]
2024-11-05  8:21   ` Jacopo Mondi
2024-11-05 11:36     ` Keke Li
2024-09-18  6:07 ` [PATCH v3 3/9] dt-bindings: media: Add amlogic,c3-mipi-adapter.yaml Keke Li via B4 Relay
2024-09-18  6:07 ` [PATCH v3 4/9] media: platform: Add c3 mipi adapter driver Keke Li via B4 Relay
2024-11-05 11:24   ` Jacopo Mondi
2024-11-06  5:32     ` Keke Li
2024-11-07  8:48       ` Jacopo Mondi
2024-11-08  7:48         ` Keke Li
2024-09-18  6:07 ` [PATCH v3 5/9] dt-bindings: media: Add amlogic,c3-isp.yaml Keke Li via B4 Relay
2024-09-21  0:32   ` Rob Herring (Arm)
2024-09-18  6:07 ` [PATCH v3 6/9] media: Add C3ISP_PARAMS and C3ISP_STATS meta formats Keke Li via B4 Relay
2024-09-18  6:07 ` [PATCH v3 7/9] media: platform: Add c3 ISP driver Keke Li via B4 Relay
2024-11-07 16:03   ` Jacopo Mondi
2024-11-07 16:15     ` Jacopo Mondi
2024-11-08 12:38       ` Keke Li
2024-11-08 12:34     ` Keke Li
2024-11-08 14:04       ` Jacopo Mondi
2024-11-11  3:00         ` Keke Li
2024-11-11  7:50           ` Jacopo Mondi
2024-11-08 10:47   ` Dan Scally
2024-11-11  9:05     ` Keke Li
2024-11-12 11:41       ` Dan Scally
2024-09-18  6:07 ` [PATCH v3 8/9] Documentation: media: add documentation file metafmt-c3-isp.rst Keke Li via B4 Relay
2024-11-07 10:38   ` Jacopo Mondi
2024-09-18  6:07 ` [PATCH v3 9/9] Documentation: media: add documentation file c3-isp.rst Keke Li via B4 Relay
2024-11-07  9:07   ` Jacopo Mondi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=868d13a7-66d2-445c-895f-5cab3e71f1ef@amlogic.com \
    --to=keke.li@amlogic.com \
    --cc=conor+dt@kernel.org \
    --cc=dan.scally@ideasonboard.com \
    --cc=devicetree@vger.kernel.org \
    --cc=jacopo.mondi@ideasonboard.com \
    --cc=kieran.bingham@ideasonboard.com \
    --cc=krzk+dt@kernel.org \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=robh@kernel.org \
    --cc=tomi.valkeinen@ideasonboard.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).