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
