diff mbox series

[v3,1/7] dt-bindings: interconnect: Add a dma interconnect name

Message ID 43eeca13733faefe62f9facc25b8e88f7e593f61.1549897336.git-series.maxime.ripard@bootlin.com (mailing list archive)
State New, archived
Headers show
Series sunxi: Add DT representation for the MBUS controller | expand

Commit Message

Maxime Ripard Feb. 11, 2019, 3:02 p.m. UTC
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@bootlin.com>
---
 Documentation/devicetree/bindings/interconnect/interconnect.txt | 3 +++
 1 file changed, 3 insertions(+)

Comments

Georgi Djakov March 1, 2019, 5:48 p.m. UTC | #1
Hi Maxime,

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@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.

Thanks,
Georgi
Maxime Ripard March 5, 2019, 3:53 p.m. UTC | #2
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@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?

Thanks!
Maxime
Robin Murphy March 5, 2019, 4:14 p.m. UTC | #3
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@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 :/

Robin.
Georgi Djakov March 7, 2019, 3:15 p.m. UTC | #4
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@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".

Thanks,
Georgi
Maxime Ripard March 7, 2019, 3:47 p.m. UTC | #5
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@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" ?

Maxime
Chen-Yu Tsai March 7, 2019, 4:09 p.m. UTC | #6
On Thu, Mar 7, 2019 at 11:48 PM Maxime Ripard <maxime.ripard@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@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?

IIRC the display frontends, backends, and mixers all have writeback
capability, using the same interconnect port.

ChenYu
Maxime Ripard March 11, 2019, 10:11 a.m. UTC | #7
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@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@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?

> 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.

Maxime
Chen-Yu Tsai March 11, 2019, 2:11 p.m. UTC | #8
On Mon, Mar 11, 2019 at 6:11 PM Maxime Ripard <maxime.ripard@bootlin.com> 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@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@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?

Works for me as long as it doesn't get confusing. BTW I think it should be
X-to-Y, instead of X-Y, as the latter can be taken as a noun-phrase.

> > 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.

Yeah. The VPU is the obvious bi-directional example.

ChenYu
Georgi Djakov March 13, 2019, 11:48 a.m. UTC | #9
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@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@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
diff mbox series

Patch

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
+
 Example:
 
 	sdhci@7864000 {