>> This is a request for comments on this patch. I hunch it is >not quite >> ready for inclusion, though it is certainly ready for >review. Correct >> functioning of this patch depends on the patches submitted earlier. >> >> As suggested by Dan Williams, I implemented DMA_SLAVE >support for the >> fsldma controller to allow me to use the hardware to >transfer to/from >> a scatterlist to a list of hardware address/length pairs. >> >> I implemented support for the extra features available in the DMA >> controller, such as external pause and external start. I have not >> tested the features yet. I am willing to drop the support if >> everything else looks good. >> >> I have implemented helper functions for creating the list of >hardware >> address/length pairs as static inline functions in the >linux/fsldma.h >> header. Should I incorporate these into the driver itself and use >> EXPORT_SYMBOL()? I've never done this before :) >> > >Any comments on this patch? >
No comment for now. Didn't get the time to study the DMA_SLAVE thing. :( >I've tested the external start feature, and it works great. I Good. Is it working with your custom board? Can I verify this with my reference board? >had to set the DMA Request Count (in the mode register) after >the driver was in control. There is no interface for doing >this in the existing driver. I just ioremap()ed the registers >and added the value from my driver after claiming the channel >with dma_request_channel(). > >There are ways to get the DMA controller into a state where >the CB bit stays set no matter what you do. I have only seen >this during an externally controlled transfer, when the >external master does weird things. I would fix this state in >terminate_all(), but I have been unsuccessful in getting the >DMA controller working again after it has been messed up. What's the frequency for this to happen? Is the problem reproducable? - Leo _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev