Add Synopsys eDMA IP driver (version 0 and for EP side only) to Linux kernel. This IP is generally distributed with Synopsys PCIe EndPoint IP (depends of the use and licensing agreement), which supports: - legacy and unroll modes - 16 independent and concurrent channels (8 write + 8 read) - supports linked list (scatter-gather) transfer - each linked list descriptor can transfer from 1 byte to 4 Gbytes - supports cyclic transfer - PCIe EndPoint glue-logic This patch series contains: - eDMA core + eDMA core v0 driver (implements the interface with DMAengine controller APIs and interfaces with eDMA HW block) - eDMA PCIe glue-logic reference driver (attaches to Synopsys EP and provides memory access to eDMA core driver) Gustavo Pimentel (6): dmaengine: Add Synopsys eDMA IP core driver dmaengine: Add Synopsys eDMA IP version 0 support dmaengine: Add Synopsys eDMA IP version 0 debugfs support PCI: Add Synopsys endpoint EDDA Device ID dmaengine: Add Synopsys eDMA IP PCIe glue-logic MAINTAINERS: Add Synopsys eDMA IP driver maintainer MAINTAINERS | 7 + drivers/dma/Kconfig | 2 + drivers/dma/Makefile | 1 + drivers/dma/dw-edma/Kconfig | 18 + drivers/dma/dw-edma/Makefile | 7 + drivers/dma/dw-edma/dw-edma-core.c | 937 +++++++++++++++++++++++++++++++ drivers/dma/dw-edma/dw-edma-core.h | 165 ++++++ drivers/dma/dw-edma/dw-edma-pcie.c | 229 ++++++++ drivers/dma/dw-edma/dw-edma-v0-core.c | 354 ++++++++++++ drivers/dma/dw-edma/dw-edma-v0-core.h | 28 + drivers/dma/dw-edma/dw-edma-v0-debugfs.c | 310 ++++++++++ drivers/dma/dw-edma/dw-edma-v0-debugfs.h | 27 + drivers/dma/dw-edma/dw-edma-v0-regs.h | 158 ++++++ drivers/misc/pci_endpoint_test.c | 2 +- include/linux/dma/edma.h | 47 ++ include/linux/pci_ids.h | 1 + 16 files changed, 2292 insertions(+), 1 deletion(-) create mode 100644 drivers/dma/dw-edma/Kconfig create mode 100644 drivers/dma/dw-edma/Makefile create mode 100644 drivers/dma/dw-edma/dw-edma-core.c create mode 100644 drivers/dma/dw-edma/dw-edma-core.h create mode 100644 drivers/dma/dw-edma/dw-edma-pcie.c create mode 100644 drivers/dma/dw-edma/dw-edma-v0-core.c create mode 100644 drivers/dma/dw-edma/dw-edma-v0-core.h create mode 100644 drivers/dma/dw-edma/dw-edma-v0-debugfs.c create mode 100644 drivers/dma/dw-edma/dw-edma-v0-debugfs.h create mode 100644 drivers/dma/dw-edma/dw-edma-v0-regs.h create mode 100644 include/linux/dma/edma.h -- 2.7.4