Followup on this problem: I did some experimentation using workqueues
differently in my serial-via-spi driver and it seems to have fixed the
problem with poor throughput in the pxa2xx_spi driver. I was
previously using the default workqueue in my serial driver but changed
it to use separate workqueues. To my surprise this completely fixed
the problem I was having with the pxa2xx_spi driver being slow to
respond to dma_transfer_complete(). Presumably the extra load on the
default shared workqueue was holding up the service tasklet in
pxa2xx_spi.

So thanks to all - the problem is resolved at last. For what it's
worth I'm still getting a 90us chip select period for only 6us of
actual SPI transfer for short requests but I think that's down to the
speed of the processor and the driver overhead.

Thanks everyone for all the suggestions you've offered in the last
couple of days!

Cheers,
Zik

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
spi-devel-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/spi-devel-general

Reply via email to