Andy Green wrote:
> As Simon suggests the DMA thing doesn't buy us much in practice,

The reason I keep on bringing up DMA is that this is the only way to
get anything even remotely efficient from that SPI hardware. There's
no FIFO, so you have to handle each byte individually (unless you
have DMA).

>From my experiments with SPI for WLAN, I know that interrupt-driven
SPI is extremely ineffient:

http://people.openmoko.org/werner/wlan-spi/spi-int.png

For each burst of data (one byte), we have a silent period of about
six times that duration. (The screenshot says 2.26us, but there was
a bug in the program at that time that may have made it use the wrong
factor, so this may in reality be 4.52us or 5.65us. But in any case,
the burst-pause ratio is correct.)

And I'm afraid this is not just time spent doing nothing, but actual
interrupt handling and transfer setup overhead.

- Werner

Reply via email to