RE: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL081 PrimeCells

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Linus WALLEIJ
Date: Tuesday, June 15, 2010 - 1:14 pm

[Viresh]


Yeah I know that feeling ... anyway I will probably publish a few
more rounds of this before then.


Currently I don't hardcode anything, the physical channels
(on the PL081 only two!) will be multiplexed on a first-come
First-served basis. This is a bit problematic since if I start
a DMAengine memcpy test there is a real battle about the channels...
The memcpy test assumes it will always get a channel, see.

I could queue the transfers waiting for a physical channel to
become available but perhaps that's not so good either.


The PrimeCell extension supports this, do you need that in things
that are not PrimeCells? In that case we need to make them generic.


Right now I have an algorithm that will (on the PL080, the PL081
has only one master) try to select AHB1 for the memory and AHB2
for the device by checking if one address is fixed. If both or
none addresses are fixed it will simply select AHB1 for source
and AHB2 for destination.

Please elaborate on what algorithm you need for this!


Not supported by DMAengine, but would be easy enough to add.


Part of PrimeCell DMA API.


Currently only done dynamically with DMA as the master for
Mem2mem, mem2per and per2mem. Mastering from the peripherals
is not supported. Do you have advanced features like that?

Anyway it can be passed in from platform data easily.


This is part of this driver. RealView & versatile have exactly
this problem too.


No, but can be fixed quite easily.


Right now the engine autoincrements the memory pointers if memory
is source/destination and both on mem2mem.

If you actually have peripherals that need increasing pointers it can
Probably be added.

Yours,
Linus Walleij
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Maurus Cuelenaere, (Tue Jun 15, 4:17 am)
Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Maurus Cuelenaere, (Tue Jun 15, 5:04 am)
RE: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Linus WALLEIJ, (Tue Jun 15, 1:14 pm)
Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Russell King - ARM Linux, (Tue Dec 21, 11:20 am)
Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Russell King - ARM Linux, (Tue Dec 21, 3:25 pm)
Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Russell King - ARM Linux, (Wed Dec 22, 5:22 am)
Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Russell King - ARM Linux, (Wed Dec 22, 5:29 am)
Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Russell King - ARM Linux, (Wed Dec 22, 4:54 pm)
Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Russell King - ARM Linux, (Wed Dec 22, 5:10 pm)
Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Russell King - ARM Linux, (Thu Dec 23, 2:18 am)
Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Russell King - ARM Linux, (Thu Dec 23, 5:30 am)
Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Russell King - ARM Linux, (Fri Dec 31, 2:50 pm)
Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Russell King - ARM Linux, (Sat Jan 1, 8:15 am)
Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Russell King - ARM Linux, (Sat Jan 1, 8:36 am)
Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Russell King - ARM Linux, (Sun Jan 2, 4:22 am)
Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Russell King - ARM Linux, (Mon Jan 3, 4:14 am)
Re: [PATCH 06/13] DMAENGINE: driver for the ARM PL080/PL08 ..., Russell King - ARM Linux, (Mon Jan 3, 8:19 am)