On Tue, May 24, 2022 at 10:21:51AM -0500, Frank Li wrote: > Default Designware EDMA just probe remotely at host side. > This patch allow EDMA driver can probe at EP side. > > 1. Clean up patch > dmaengine: dw-edma: Detach the private data and chip info structures > dmaengine: dw-edma: Remove unused field irq in struct dw_edma_chip > dmaengine: dw-edma: Change rg_region to reg_base in struct > dmaengine: dw-edma: rename wr(rd)_ch_cnt to ll_wr(rd)_cnt in struct > > 2. Enhance EDMA driver to allow prode eDMA at EP side > dmaengine: dw-edma: Add support for chip specific flags > dmaengine: dw-edma: Add DW_EDMA_CHIP_32BIT_DBI for chip specific > flags (this patch removed at v11 because dma tree already have fixed > patch) > > 3. Bugs fix at EDMA driver when probe eDMA at EP side > dmaengine: dw-edma: Fix programming the source & dest addresses for > ep > dmaengine: dw-edma: Don't rely on the deprecated "direction" member > > 4. change pci-epf-test to use EDMA driver to transfer data. > PCI: endpoint: Add embedded DMA controller test > > 5. Using imx8dxl to do test, but some EP functions still have not > upstream yet. So below patch show how probe eDMA driver at EP > controller driver. > https://lore.kernel.org/linux-pci/20220309120149.GB134091@thinkpad/T/#m979eb506c73ab3cfca2e7a43635ecdaec18d8097 > > Frank Li (6): > dmaengine: dw-edma: Remove unused field irq in struct dw_edma_chip > dmaengine: dw-edma: Detach the private data and chip info structures > dmaengine: dw-edma: Change rg_region to reg_base in struct > dw_edma_chip > dmaengine: dw-edma: Rename wr(rd)_ch_cnt to ll_wr(rd)_cnt in struct > dw_edma_chip > dmaengine: dw-edma: Add support for chip specific flags > PCI: endpoint: Enable DMA tests for endpoints with DMA capabilities > > Serge Semin (2): > dmaengine: dw-edma: Drop dma_slave_config.direction field usage > dmaengine: dw-edma: Fix eDMA Rd/Wr-channels and DMA-direction > semantics > > drivers/dma/dw-edma/dw-edma-core.c | 141 +++++++++++------- > drivers/dma/dw-edma/dw-edma-core.h | 31 +--- > drivers/dma/dw-edma/dw-edma-pcie.c | 83 +++++------ > drivers/dma/dw-edma/dw-edma-v0-core.c | 41 ++--- > drivers/dma/dw-edma/dw-edma-v0-core.h | 4 +- > drivers/dma/dw-edma/dw-edma-v0-debugfs.c | 18 +-- > drivers/dma/dw-edma/dw-edma-v0-debugfs.h | 8 +- > drivers/pci/endpoint/functions/pci-epf-test.c | 112 ++++++++++++-- > include/linux/dma/edma.h | 59 +++++++- > 9 files changed, 317 insertions(+), 180 deletions(-) Applied with Vinod's ack to pci/edma for v5.20, thanks! Check https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/log/?h=pci/edma (head 7871514c9cff ("PCI: endpoint: Enable DMA tests for endpoints with DMA capabilities")). If you post things that need to be applied on top of that branch, please mention that in the cover letter. I don't guarantee the immutability of the branch because sometimes I fix typos or similar errors before the merge window. Bjorn