mbox series

[RFC,0/6] dma: Add Synopsys eDMA IP driver (version 0)

Message ID cover.1544610287.git.gustavo.pimentel@synopsys.com
Headers show
Series dma: Add Synopsys eDMA IP driver (version 0) | expand

Message

Gustavo Pimentel Dec. 12, 2018, 11:13 a.m. UTC
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

Signed-off-by: Gustavo Pimentel <gustavo.pimentel@synopsys.com>
Cc: Vinod Koul <vkoul@kernel.org>
Cc: Eugeniy Paltsev <paltsev@synopsys.com>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Kishon Vijay Abraham I <kishon@ti.com>
Cc: Joao Pinto <jpinto@synopsys.com>