* ep93xx SPI driver v3 [not found] ` <20100416171032.GD6718@gw.healthdatacare.com> @ 2010-04-17 3:23 ` Martin Guy 2010-04-17 5:15 ` Mika Westerberg 2010-04-18 20:53 ` Ryan Mallon 0 siblings, 2 replies; 7+ messages in thread From: Martin Guy @ 2010-04-17 3:23 UTC (permalink / raw) To: linux-arm-kernel 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. 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 M ^ permalink raw reply [flat|nested] 7+ messages in thread
* ep93xx SPI driver v3 2010-04-17 3:23 ` ep93xx SPI driver v3 Martin Guy @ 2010-04-17 5:15 ` Mika Westerberg 2010-04-18 20:53 ` Ryan Mallon 1 sibling, 0 replies; 7+ messages in thread From: Mika Westerberg @ 2010-04-17 5:15 UTC (permalink / raw) To: linux-arm-kernel On Sat, Apr 17, 2010 at 04:23:53AM +0100, Martin Guy wrote: > 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. I think that the M2M engine can also perform M2P transfers for SSPRX, SSPTX, and IDE in addition to memory-to-memory transfers. There already is dma-m2p support and I guess that it can be extended to support M2M controller for IDE and SPI. > 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 Yes. MW ^ permalink raw reply [flat|nested] 7+ messages in thread
* ep93xx SPI driver v3 2010-04-17 3:23 ` ep93xx SPI driver v3 Martin Guy 2010-04-17 5:15 ` Mika Westerberg @ 2010-04-18 20:53 ` Ryan Mallon 2010-04-19 6:48 ` Mika Westerberg 1 sibling, 1 reply; 7+ messages in thread From: Ryan Mallon @ 2010-04-18 20:53 UTC (permalink / raw) To: linux-arm-kernel 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 ^ permalink raw reply [flat|nested] 7+ messages in thread
* ep93xx SPI driver v3 2010-04-18 20:53 ` Ryan Mallon @ 2010-04-19 6:48 ` Mika Westerberg 2010-04-19 9:25 ` Martin Guy 2010-04-19 19:38 ` Ryan Mallon 0 siblings, 2 replies; 7+ messages in thread From: Mika Westerberg @ 2010-04-19 6:48 UTC (permalink / raw) To: linux-arm-kernel On Mon, Apr 19, 2010 at 08:53:28AM +1200, Ryan Mallon wrote: > Martin Guy wrote: > > 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. Yeah. This discussion actually referred to future improvements. We can implement DMA support later on. BTW: do you guys think that there is any real use of polling mode in the driver or should I drop it out completely? I mean, if we are going to add proper timeout / error reporting for polling, it makes the driver more complex. Thanks, MW ^ permalink raw reply [flat|nested] 7+ messages in thread
* ep93xx SPI driver v3 2010-04-19 6:48 ` Mika Westerberg @ 2010-04-19 9:25 ` Martin Guy 2010-04-19 9:55 ` Mika Westerberg 2010-04-19 19:38 ` Ryan Mallon 1 sibling, 1 reply; 7+ messages in thread From: Martin Guy @ 2010-04-19 9:25 UTC (permalink / raw) To: linux-arm-kernel On 4/19/10, Mika Westerberg <mika.westerberg@iki.fi> wrote: > BTW: do you guys think that there is any real use of polling mode > in the driver or should I drop it out completely? Is there any advantage to it in terms of transfer speed or CPU efficiency? M ^ permalink raw reply [flat|nested] 7+ messages in thread
* ep93xx SPI driver v3 2010-04-19 9:25 ` Martin Guy @ 2010-04-19 9:55 ` Mika Westerberg 0 siblings, 0 replies; 7+ messages in thread From: Mika Westerberg @ 2010-04-19 9:55 UTC (permalink / raw) To: linux-arm-kernel On Mon, Apr 19, 2010 at 10:25:03AM +0100, Martin Guy wrote: > On 4/19/10, Mika Westerberg <mika.westerberg@iki.fi> wrote: > > BTW: do you guys think that there is any real use of polling mode > > in the driver or should I drop it out completely? > > Is there any advantage to it in terms of transfer speed or CPU efficiency? I guess no. At least for CPU efficiency. Original motivation for implementing it was to let users choose which method they prefer but now I have second thoughts about that since interrupt mode seems to perform OK and I don't see any advantage of using polling here. Thanks, MW ^ permalink raw reply [flat|nested] 7+ messages in thread
* ep93xx SPI driver v3 2010-04-19 6:48 ` Mika Westerberg 2010-04-19 9:25 ` Martin Guy @ 2010-04-19 19:38 ` Ryan Mallon 1 sibling, 0 replies; 7+ messages in thread From: Ryan Mallon @ 2010-04-19 19:38 UTC (permalink / raw) To: linux-arm-kernel Mika Westerberg wrote: > On Mon, Apr 19, 2010 at 08:53:28AM +1200, Ryan Mallon wrote: >> Martin Guy wrote: >>> 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. > > Yeah. This discussion actually referred to future improvements. We > can implement DMA support later on. > > BTW: do you guys think that there is any real use of polling mode > in the driver or should I drop it out completely? I mean, if we are > going to add proper timeout / error reporting for polling, it makes > the driver more complex. I recall not being able to get interrupt mode working in the driver the Hartley and I worked on. I can't remember if this was a limitation of our hardware, or just bugs in the interrupt code. I'll try and find some time today to test the driver out. ~Ryan ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2010-04-19 19:38 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20100415173905.GJ2685@gw.healthdatacare.com>
[not found] ` <j2u56d259a01004151645y47ec8254ree59189aaa6b5baa@mail.gmail.com>
[not found] ` <20100416042658.GK2685@gw.healthdatacare.com>
[not found] ` <l2p56d259a01004160211m17bc0f10gc63a5ca82436c8e3@mail.gmail.com>
[not found] ` <20100416094444.GC6718@gw.healthdatacare.com>
[not found] ` <p2l56d259a01004160455jdf290557yd102cf78d9f1252e@mail.gmail.com>
[not found] ` <20100416171032.GD6718@gw.healthdatacare.com>
2010-04-17 3:23 ` ep93xx SPI driver v3 Martin Guy
2010-04-17 5:15 ` Mika Westerberg
2010-04-18 20:53 ` Ryan Mallon
2010-04-19 6:48 ` Mika Westerberg
2010-04-19 9:25 ` Martin Guy
2010-04-19 9:55 ` Mika Westerberg
2010-04-19 19:38 ` Ryan Mallon
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox