On Mon, Mar 11, 2019 at 6:11 PM Maxime Ripard <maxime.ripard@xxxxxxxxxxx> 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@xxxxxxxxxxx> 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@xxxxxxxxxxx> > > > > >>>> --- > > > > >>>> 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