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
