ep93xx SPI driver v3
Ryan Mallon
ryan at bluewatersys.com
Sun Apr 18 16:53:28 EDT 2010
Martin Guy wrote:
> cc-ing to list...
>
>> Next thing (after possible bug fixes, that is) is probably to
>> implement proper DMA support. Unfortunately there is no platform
>> code for that yet, only M2P controller support :( which means that
>> we have to implement M2M controller support
>
> Yes, ep93xx DMA engine has two flavours: memory-to-peripheral, used
> for most devices, and memory-to-memory, used for block memcpy and for
> memory-to-SSP/SPI (== SD card).
>
> The easiest route would seem to be to get the M2M stuff working to do
> memcpy fast. Can linux make use of that? I haven't yet seen anything
> that can make use of a memory-to-memory copy DMA engine.
There is support for the M2P DMA (see arch/arm/mach-ep93xx/dma-m2p.c),
which could be used as a guide. There is also dmaengine, which I don't
know much about, but could possibly be implemented for the ep93xx DMA
channels. I think dmaengine supports asynchronous memcpy.
> If we can get that working, a reasonable second stage would make it
> work for ep93xx-SPI transfers, making SD card access even less
> CPU-intensive
Sine the M2M DMA support for the ep93xx is not in the mainline yet, I
would be happy for the SPI driver to be merged without DMA support, and
to have it added at a later date.
~Ryan
--
Bluewater Systems Ltd - ARM Technology Solution Centre
Ryan Mallon 5 Amuri Park, 404 Barbadoes St
ryan at bluewatersys.com PO Box 13 889, Christchurch 8013
http://www.bluewatersys.com New Zealand
Phone: +64 3 3779127 Freecall: Australia 1800 148 751
Fax: +64 3 3779135 USA 1800 261 2934
More information about the linux-arm-kernel
mailing list