linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: linux@arm.linux.org.uk (Russell King - ARM Linux)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH V3 1/2] of: Add generic device tree DMA helpers
Date: Fri, 4 May 2012 00:25:06 +0100	[thread overview]
Message-ID: <20120503232506.GA4181@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <4FA30604.1030401@wwwdotorg.org>

On Thu, May 03, 2012 at 04:26:12PM -0600, Stephen Warren wrote:
> On 04/30/2012 03:17 PM, Jon Hunter wrote:
> > +Example:
> > +
> > +	sdma: dmaengine at 48000000 {
> > +		compatible = "ti,omap4-sdma"
> > +		reg = <0x48000000 0x1000>;
> > +		interrupts = <4>;
> > +		#dma-cells = <2>;
> > +		#dma-channels = <32>;
> > +		#dma-requests = <127>;
> > +	};
> > +
> > +
> > +* DMA client
> > +
> > +Client drivers should specify the DMA property using a phandle to the controller
> > +followed by the number of DMA request/channel and the transfer type of the
> 
> What exactly is "request/channel"? Is it a request ID, a channel ID,
> both packed into a single integer (which bits are used for each field),
> etc.?

Agreed - because with this definition, applied to the PL08x found on
Versatile platforms, it will be impossible to describe the DMA bindings
due to intervening MUX hardware.

> > +channel (eg. device-to-memory, memory-to-device, memory-to-memory, etc). Drivers
> > +should use the DMA Engine enum dma_transfer_direction (eg. DMA_DEV_TO_MEM,
> > +DMA_MEM_TO_DEV, etc) for specifying the transfer type.
> 
> The binding document should stand alone; you shouldn't need to go look
> up values in any particular OS/driver's source code. In other words,
> this should explicitly enumerate the values for DMA_DEV_TO_MEM etc.
> here. That said, I'm not sure it's appropriate to mandate that every DMA
> controller's DMA specifier actually include this information in DT (a
> controller might only support DEV_TO_MEM for example, and hence not need
> this information in DT at all).
> 
> The DMA client's binding should specify how many entries it needs in the
> dma property and what they mean, e.g. it should know that dma property
> index 0 is the TX DMA specifier, and index 1 is the RX specifier.

(Mostly to Jon)

Also bear in mind that as far as DMA engine is concerned, every channel
is _potentially_ bidirectional without it having to be released and
reacquired.  We have some drivers setup to behave like that too.  So
stuffing stuff like the transfer type into the selection adds
restrictions.

On platforms where the DMA transfer type does matter (such as OMAP),
that's normally because one DMA request signal is associated with a
particular DMA direction.  That makes it a property of the DMA request
signal, not of the requested channel.

  reply	other threads:[~2012-05-03 23:25 UTC|newest]

Thread overview: 129+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-30 21:17 [PATCH V3 1/2] of: Add generic device tree DMA helpers Jon Hunter
2012-05-03 22:26 ` Stephen Warren
2012-05-03 23:25   ` Russell King - ARM Linux [this message]
2012-05-04 12:39   ` Arnd Bergmann
2012-05-04 15:06   ` Jon Hunter
2012-05-04 15:14     ` Russell King - ARM Linux
2012-05-04 18:21     ` Stephen Warren
2012-05-04 19:19       ` Jon Hunter
2012-05-04  6:56 ` Jassi Brar
2012-05-04 15:17   ` Jon Hunter
2012-05-04 19:01     ` Jassi Brar
2012-05-04 19:23       ` Arnd Bergmann
2012-05-05 17:10         ` Jassi Brar
2012-05-07 15:53           ` Stephen Warren
2012-05-07 17:19             ` Jassi Brar
2012-05-08 16:35               ` Stephen Warren
2012-05-08 19:09                 ` Jassi Brar
2012-05-09 12:30                   ` Arnd Bergmann
2012-05-09 19:10                   ` Stephen Warren
2012-05-09 21:38                     ` Jassi Brar
2012-05-10 17:00                       ` Stephen Warren
2012-05-10 19:59                         ` Jassi Brar
2012-05-11 19:28                           ` Stephen Warren
2012-05-11 21:06                             ` Jassi Brar
2012-05-11 23:51                               ` Stephen Warren
2012-05-12 13:40                                 ` Jassi Brar
2012-05-16  1:05                                   ` Jon Hunter
2012-05-17 13:18                         ` Russell King - ARM Linux
2012-05-07 17:21             ` Arnd Bergmann
2012-05-16  1:11       ` Jon Hunter
2012-05-16 12:37         ` Jassi Brar
2012-05-16 13:15           ` Jon Hunter
2012-05-16 15:44             ` Stephen Warren
2012-05-16 16:04               ` Jon Hunter
2012-05-16 16:01             ` Jon Hunter
2012-05-16 16:15               ` Stephen Warren
2012-05-16 16:22                 ` Jassi Brar
2012-05-16 17:09                   ` Jon Hunter
2012-05-16 19:42                   ` Arnd Bergmann
2012-05-16 21:16                     ` Jassi Brar
2012-05-17 19:32                       ` Stephen Warren
2012-05-18 17:12                         ` Jassi Brar
2012-05-18 21:04                       ` Arnd Bergmann
2012-05-16 23:59                     ` Stephen Warren
2012-05-17  4:05                       ` Jassi Brar
2012-05-18 20:49                       ` Arnd Bergmann
2012-05-18 21:07                         ` Stephen Warren
2012-05-18 21:43                           ` Arnd Bergmann
2012-05-18 22:20                             ` Stephen Warren
2012-05-19  8:44                               ` Arnd Bergmann
2012-05-21 17:33                                 ` Stephen Warren
2012-05-21 18:18                                   ` Arnd Bergmann
2012-05-21 20:32                                     ` Stephen Warren
2012-06-08 19:04                                       ` Jon Hunter
2012-06-09  0:04                                         ` Arnd Bergmann
2012-06-13 22:32                                           ` Jon Hunter
2012-06-14  4:45                                             ` Jassi Brar
2012-06-14 11:48                                             ` Arnd Bergmann
2012-06-14 15:39                                               ` Jon Hunter
2012-06-15  8:40                                                 ` Arnd Bergmann
2012-06-22 22:52                                               ` Jon Hunter
2012-06-22 23:12                                                 ` Russell King - ARM Linux
2012-06-25 16:51                                                   ` Jon Hunter
2012-06-25 18:04                                                     ` Vinod Koul
2012-06-25 20:30                                                       ` Arnd Bergmann
2012-06-26  9:40                                                         ` Vinod Koul
2012-06-26 14:59                                                           ` Arnd Bergmann
2012-06-26 17:50                                                             ` Vinod Koul
2012-06-26 20:27                                                               ` Arnd Bergmann
2012-06-27 13:45                                                                 ` Vinod Koul
2012-06-27 15:20                                                                   ` Arnd Bergmann
2012-07-13  6:45                                                                     ` Vinod Koul
2012-07-13 21:52                                                                       ` Guennadi Liakhovetski
2012-07-17 19:24                                                                       ` Arnd Bergmann
2012-07-20  4:00                                                                         ` Vinod Koul
2012-07-20  8:39                                                                           ` Arnd Bergmann
2012-07-20  9:37                                                                             ` Vinod Koul
2012-07-24 19:07                                                                               ` Jon Hunter
2012-07-24 19:27                                                                                 ` Arnd Bergmann
2012-07-26  6:42                                                                                 ` Vinod Koul
2012-07-26  7:14                                                                                   ` Arnd Bergmann
2012-07-26 11:28                                                                                     ` Vinod Koul
2012-07-26 15:53                                                                                       ` Jon Hunter
2012-07-31 11:06                                                                                         ` Vinod Koul
2012-07-26 17:43                                                                                   ` Jon Hunter
2012-07-31 11:12                                                                                     ` Vinod Koul
2012-08-01 20:43                                                                                       ` Jon Hunter
2012-08-03  9:55                                                                                         ` Vinod Koul
2012-07-20  9:08                                                                           ` Robert Jarzmik
2012-07-20  9:41                                                                             ` Vinod Koul
2012-07-26  4:56                                                                           ` zhangfei gao
2012-07-23 21:29                                                                         ` Stephen Warren
2012-07-24  7:19                                                                           ` Arnd Bergmann
2012-07-24 16:04                                                                             ` Stephen Warren
2012-07-24 18:55                                                                               ` Arnd Bergmann
2012-07-24 12:54                                                                           ` Sergei Shtylyov
2012-07-06 11:36                                                         ` Guennadi Liakhovetski
2012-07-06 15:28                                                           ` Arnd Bergmann
2012-07-06 15:43                                                             ` Guennadi Liakhovetski
2012-07-06 17:31                                                               ` Arnd Bergmann
2012-07-06 21:01                                                               ` Russell King - ARM Linux
2012-07-06 20:57                                                           ` Russell King - ARM Linux
2012-07-06 22:49                                                             ` Guennadi Liakhovetski
2012-07-13  6:51                                                           ` Vinod Koul
2012-06-14 15:17                                           ` Guennadi Liakhovetski
2012-06-14 21:52                                             ` Jon Hunter
2012-06-15  8:41                                               ` Guennadi Liakhovetski
2012-06-15  9:00                                               ` Arnd Bergmann
2012-06-15  9:18                                                 ` Guennadi Liakhovetski
2012-06-15 11:27                                                   ` Arnd Bergmann
2012-06-15 16:11                                                     ` Mitch Bradley
2012-06-16  6:56                                                       ` Arnd Bergmann
2012-06-21 11:21                                                     ` Guennadi Liakhovetski
2012-06-21 14:56                                                       ` Arnd Bergmann
2012-05-17 13:22                     ` Russell King - ARM Linux
2012-05-17 13:52                       ` Mark Brown
2012-05-17 14:16                         ` Russell King - ARM Linux
2012-05-16 16:16               ` Jassi Brar
2012-05-16 17:12                 ` Jon Hunter
2012-05-16 17:24                   ` Jassi Brar
2012-05-16 17:37                     ` Jon Hunter
2012-05-16 17:46                       ` Stephen Warren
2012-05-16 18:03                         ` Jon Hunter
2012-05-04 15:22   ` Jon Hunter
2012-05-04 15:56 ` Arnd Bergmann
2012-05-04 17:19   ` Jon Hunter
2012-05-04 19:06     ` Arnd Bergmann
2012-05-04 19:26       ` Jon Hunter
2012-05-04 18:30   ` Stephen Warren

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=20120503232506.GA4181@n2100.arm.linux.org.uk \
    --to=linux@arm.linux.org.uk \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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).