This patch series add support for the DW AXI DMAC controller. DW AXI DMAC is a part of upcoming development board from Synopsys. In this driver implementation only DMA_MEMCPY and DMA_SG transfers are supported. Changes for v2: * Use async version of runtime PM get/put callbacks. * Use atomic_t (and corresponding operations) for allocated descriptors counter. * Use GFP_NOWAIT flag for allocating dma descriptors in "dma_pool_zalloc" instead of GFP_ATOMIC flag. * Add kernel-doc style comments for the irq enum, cleanup. Changes for v1: * Implement Runtime PM (the driver can operate with or without Runtime PM support) * Move submitting new txn to interrupt handler from tasklet * Free IRQ manually in driver remove function * Add 64 bit support * Rid of subsys_initcall * Use dev_vdbg instead dev_dbg in some places * Rid of C99 style comments * Add IP version to DT compatible string Note: * I left "is_paused" variable untouched. I checked the drivers which have 'enum dma_status' field in their channel data structures - there is no much sense to add enum to this driver channel data structure - it will be used only for determinating is channel paused or not. * I left preparation of SG list according to max data width and max block size in dma_chan_prep_dma_sg function. * I left axi_chan_is_hw_enable assert untouched because it is HW per-channel assert. It can't be managed by runtime PM. Changes for v0: * Switch to virt-dma API (according to previous RFC) * Small fixies according to previous RFC * Add DT bindings Eugeniy Paltsev (2): dt-bindings: Document the Synopsys DW AXI DMA bindings dmaengine: Add DW AXI DMAC driver .../devicetree/bindings/dma/snps,axi-dw-dmac.txt | 34 + drivers/dma/Kconfig | 10 + drivers/dma/Makefile | 1 + drivers/dma/axi_dma_platform.c | 1044 ++++++++++++++++++++ drivers/dma/axi_dma_platform.h | 119 +++ drivers/dma/axi_dma_platform_reg.h | 220 +++++ 6 files changed, 1428 insertions(+) create mode 100644 Documentation/devicetree/bindings/dma/snps,axi-dw-dmac.txt create mode 100644 drivers/dma/axi_dma_platform.c create mode 100644 drivers/dma/axi_dma_platform.h create mode 100644 drivers/dma/axi_dma_platform_reg.h -- 2.5.5