Skip to contentSkip to conversation

dma: Add Synopsys eDMA IP driver (version 0)

RFC New Gustavo Pimentel 1 participant 1 message Dec 12, 2018 PCI

lore
Share & tools
lore
#0 lore raw

cover dma: Add Synopsys eDMA IP driver (version 0)

Add Synopsys eDMA IP driver (version 0) 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
- PCIe EndPoint glue-logic

Gustavo Pimentel (6):
dma: Add Synopsys eDMA IP core driver
dma: Add Synopsys eDMA IP version 0 support
dma: Add Synopsys eDMA IP version 0 debugfs support
dma: Add Synopsys eDMA IP PCIe glue-logic
MAINTAINERS: Add Synopsys eDMA IP driver maintainer
pci: pci_ids: Add Synopsys device id 0xedda

 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       | 945 +++++++++++++++++++++++++++++++
 drivers/dma/dw-edma/dw-edma-core.h       | 145 +++++
 drivers/dma/dw-edma/dw-edma-pcie.c       | 302 ++++++++++
 drivers/dma/dw-edma/dw-edma-v0-core.c    | 347 ++++++++++++
 drivers/dma/dw-edma/dw-edma-v0-core.h    |  24 +
 drivers/dma/dw-edma/dw-edma-v0-debugfs.c | 359 ++++++++++++
 drivers/dma/dw-edma/dw-edma-v0-debugfs.h |  21 +
 drivers/dma/dw-edma/dw-edma-v0-regs.h    | 143 +++++
 drivers/misc/pci_endpoint_test.c         |   2 +-
 include/linux/dma/edma.h                 |  42 ++
 include/linux/pci_ids.h                  |   1 +
 16 files changed, 2365 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
Cc Vinod Koul <[email protected]>
Cc Eugeniy Paltsev <[email protected]>
Cc Andy Shevchenko <[email protected]>
Cc Lorenzo Pieralisi <[email protected]>
Cc Bjorn Helgaas <[email protected]>
Cc Kishon Vijay Abraham I <[email protected]>
Cc Joao Pinto <[email protected]>
Signature · 1 line
2.7.4