[PATCH v3 1/7] dt-bindings: interconnect: Add a dma interconnect name
Georgi Djakov
georgi.djakov at linaro.org
Wed Mar 13 11:48:48 UTC 2019
Hi,
On 3/11/19 12:11, Maxime Ripard wrote:
> On Fri, Mar 08, 2019 at 12:09:47AM +0800, Chen-Yu Tsai wrote:
>> On Thu, Mar 7, 2019 at 11:48 PM Maxime Ripard <maxime.ripard at bootlin.com> wrote:
>>>
>>> On Thu, Mar 07, 2019 at 05:15:20PM +0200, Georgi Djakov wrote:
>>>> Hi,
>>>>
>>>> On 3/5/19 18:14, Robin Murphy wrote:
>>>>> On 05/03/2019 15:53, Maxime Ripard wrote:
>>>>>> Hi,
>>>>>>
>>>>>> On Fri, Mar 01, 2019 at 07:48:15PM +0200, Georgi Djakov wrote:
>>>>>>> On 2/11/19 17:02, Maxime Ripard wrote:
>>>>>>>> The current DT bindings assume that the DMA will be performed by the
>>>>>>>> devices through their parent DT node, and rely on that assumption
>>>>>>>> for the
>>>>>>>> address translation using dma-ranges.
>>>>>>>>
>>>>>>>> However, some SoCs have devices that will perform DMA through
>>>>>>>> another bus,
>>>>>>>> with separate address translation rules. We therefore need to
>>>>>>>> express that
>>>>>>>> relationship, through the special interconnect name "dma".
>>>>>>>>
>>>>>>>> Signed-off-by: Maxime Ripard <maxime.ripard at bootlin.com>
>>>>>>>> ---
>>>>>>>> Documentation/devicetree/bindings/interconnect/interconnect.txt |
>>>>>>>> 3 +++
>>>>>>>> 1 file changed, 3 insertions(+)
>>>>>>>>
>>>>>>>> diff --git
>>>>>>>> a/Documentation/devicetree/bindings/interconnect/interconnect.txt
>>>>>>>> b/Documentation/devicetree/bindings/interconnect/interconnect.txt
>>>>>>>> index 5a3c575b387a..e69fc2d992c3 100644
>>>>>>>> --- a/Documentation/devicetree/bindings/interconnect/interconnect.txt
>>>>>>>> +++ b/Documentation/devicetree/bindings/interconnect/interconnect.txt
>>>>>>>> @@ -51,6 +51,9 @@ interconnect-names : List of interconnect path
>>>>>>>> name strings sorted in the same
>>>>>>>> interconnect-names to match interconnect paths with
>>>>>>>> interconnect
>>>>>>>> specifier pairs.
>>>>>>>> + Reserved interconnect names:
>>>>>>>> + * dma: Path from the device to the main
>>>>>>>> memory of the system
>>>>>>>
>>>>>>> Bikeshed: As it's from the device to the main memory, maybe here we can
>>>>>>> also denote this my calling the path dma-mem or dma-memory. For other
>>>>>>> paths, we are trying to mention both the source and the destination and
>>>>>>> maybe it would be good to be consistent although this is special one.
>>>>>>
>>>>>> I'm not sure I understand what you mean. You'd like two interconnect
>>>>>> names, one called dma-memory, and one memory-dma?
>>>>>
>>>>> Hmm, yes, it's not like "dma" describes an actual source or destination
>>>>> either :/
>>>>
>>>> IIUC, it's a path (bus) that a dma device use to access some memory
>>>> (read or/and write). So i have used source-destination above more in the
>>>> sense of initiator-target or master-slave. My suggestion was just to
>>>> change the reserved interconnect name from "dma" to "dma-mem" or
>>>> "dma-memory".
>>>
>>> If dma is an issue in itself, maybe we can call it "device-memory" ?
>>
>> Might I ask what happens if the device can both DMA to and from memory?
>
> We can create another one called memory-device if that's needed?
I don't think this is needed if in both cases the DMA device is the
initiator of the transfer. In both cases the DMA device is the initiator
(master), so memory-device or memory-dma does not make much sense. Sorry
for the confusion.
>
>> IIRC the display frontends, backends, and mixers all have writeback
>> capability, using the same interconnect port.
>
> I think in both cases it's the same path. The camera driver also need
> to have that offset, even though it's a producer and not a consumer,
> and the VPU does too.
Again, the camera driver and probably the VPU too would be the
initiators, so regarding naming it should be the same (despite that the
data flow is bi-directional).
Thanks,
Georgi
More information about the dri-devel
mailing list