Hi, On Wed, Jan 26, 2022 at 07:50:38PM +0000, Lad Prabhakar wrote: > Hi All, > > The current PCIe EPF framework supports DMA data transfers using external > DMA only, this patch series aims to add support for platforms supporting > internal DMAC on PCIe for data transfers. > > R-Car PCIe supports internal DMAC to transfer data between Internal Bus to > PCI Express and vice versa. Last patch fills up the required flags and ops > to support internal DMAC. > > Patches 1-3 are for PCIe EPF core to support internal DMAC handling, patch > 4/5 is to fix test cases based on the conversation [1]. > This looks similar to the Synopsys eDMA IP [1] that goes with the Synopsys PCIe endpoint IP. Why can't you represent it as a dmaengine driver and use the existing DMA support? Thanks, Mani [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/dma/dw-edma > Patches are based on top of [1] next branch. > > [0] https://www.spinics.net/lists/linux-pci/msg92385.html > [1] https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git > > Cheers, > Prabhakar > > Lad Prabhakar (5): > PCI: endpoint: Add ops and flag to support internal DMAC > PCI: endpoint: Add support to data transfer using internal dmac > misc: pci_endpoint_test: Add driver data for Renesas RZ/G2{EHMN} > misc: pci_endpoint_test: Add support to pass flags for buffer > allocation > PCI: rcar-ep: Add support for DMAC > > drivers/misc/pci_endpoint_test.c | 56 ++++- > drivers/pci/controller/pcie-rcar-ep.c | 227 ++++++++++++++++++ > drivers/pci/controller/pcie-rcar.h | 23 ++ > drivers/pci/endpoint/functions/pci-epf-test.c | 184 ++++++++++---- > drivers/pci/endpoint/pci-epf-core.c | 32 +++ > include/linux/pci-epc.h | 8 + > include/linux/pci-epf.h | 7 + > 7 files changed, 483 insertions(+), 54 deletions(-) > > -- > 2.25.1 >