This patch series cleans up the Freescale DMAEngine driver, including verifying the locking and making sure that all code paths are correct. There were a few places that seemed suspicious, and they have been fixed.
I have written a quick memory->memory DMAEngine test driver, and the performance is identical before and after my changes (<0.1% change). I measured both setting up the DMA operation (via device_prep_dma_interrupt() and device_prep_dma_memcpy()) and the actual DMA transfer itself. As an added bonus, the interrupt load is measurably reduced. My test driver transfers 32MB as 32x 1MB chunks + 1 interrupt descriptor, using the functions noted above. Previous to this patch series, 31 interrupts were generated. After this patch series, only a single interrupt is generated for the whole transaction. Some testing on 85xx/86xx hardware would be appreciated. Also, some testing by the users attempting to use async_tx and talitos to handle RAID offload would be great as well. Documentation/powerpc/dts-bindings/fsl/dma.txt | 17 +- drivers/dma/fsldma.c | 1036 ++++++++++++------------ drivers/dma/fsldma.h | 35 +- 3 files changed, 556 insertions(+), 532 deletions(-) Thanks, Ira _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev