On Sun, Feb 07, 2016 at 05:20:51PM +0100, Hauke Mehrtens wrote: > Hi, > > I want to write a dma engine driver for a simple dma engine. > It uses 20 channels (some more recent IP cores also have more) and 8 > requesters. These channels are hard wired to the requesters. > > Each channel needs a dma memory region with the descriptors, the > descriptors are stored in an array. When I write a new descriptor to > this memory the dma controller will read it after sometime and walk the > array along. > > Is there a DMA engine driver for a similar core? Yes please see the source, few driver do have similar needs > Do I have to use struct dma_slave_config->src_addr and ->dst_addr and > when does it get called? Is there a state diagram which show when which > callback is called? Callback is called when the dma is completed by the driver to the client. dma_slave_config is applicable for slave usages only, if you have noticed the dma APIs do not provide a means of sending dma peripheral details so you need to use the dma_slave_config for sending peripheral details. > I already read this Documentation/dmaengine/provider.txt and saw the > presentation from free electrons. Client.txt would be helpful too -- ~Vinod -- To unsubscribe from this list: send the line "unsubscribe dmaengine" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html