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

Maxime Ripard maxime.ripard at bootlin.com
Mon Mar 11 03:11:30 PDT 2019


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?

> 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

-- 
Maxime Ripard, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20190311/ce8e765c/attachment.sig>


More information about the linux-arm-kernel mailing list