Thread (1 message) 1 message, 1 author, 2013-01-29

[PATCH 1/5] dmaengine: dw_dmac: move to generic DMA binding

From: arnd@arndb.de (Arnd Bergmann)
Date: 2013-01-29 16:21:59
Also in: linux-devicetree

On Tuesday 29 January 2013, Viresh Kumar wrote:
On 29 January 2013 19:01, Arnd Bergmann [off-list ref] wrote:
quoted
Ah, good. So I guess the "dma-requests" property should actually
be "16" then.
yes, even i was checking on that separately :)
Actually, I just discovered something odd in the
arch/arm/mach-spear/spear13xx-dma.h file that gets removed
in the last patch: there, we define request numbers up to
32, e.g.

-       SPEAR1310_DMA_REQ_UART2_RX = 14,
-       SPEAR1310_DMA_REQ_UART2_TX = 15,
-       SPEAR1310_DMA_REQ_UART5_RX = 16,
-       SPEAR1310_DMA_REQ_UART5_TX = 17,

What is the meaning of this, if the maximum request number is 15?
 
quoted
Could we have device-to-device DMAs with this controller, and if
we can, should we have both 'src' and 'dst' fields? Are the
two number ranges sharing the same address space, i.e. is
request '7' as the destination guaranteed to be the same device
as request '7' in the source?
Request lines are per master... So, for a master single request line
is independent of direction. Many DMA controllers have capability of
doing dev-to-dev transfers but DMAENGINE doesn't have any support
for it, even we don't have a usecase too :)
quoted
If we need two lines, we could interleave them with the bus
master numbers:
not required.
Ok. Would it be enough to have only one master and one request
field in the DT dma descriptor then, and have the code figure
whether to use it as source or destination, based on the
configuration? Which one should come first? Since you have
multiple masters per controller, and multiple requests per
master, it sounds like the cleanest descriptor form would
be 

	<controller master request>;

Or possibly

	<controller master request direction>;

if the direction needs to be known at the time the channel
is requested.

	Arnd
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help