On Mon, May 02, 2022 at 07:57:52PM -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 > > 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 I've now tested the eDMA patches on top of Serge's patches plus some Qcom specific changes. So feel free to add my Tested-by tag for eDMA patches. Tested-by: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx> I can't test pci-epf-test on my platform, so intentionally left it out. Thanks, Mani > > > Frank Li (7): > 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 > dmaengine: dw-edma: Add DW_EDMA_CHIP_32BIT_DBI for chip specific flags > PCI: endpoint: Enable DMA controller 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 | 54 ++++--- > 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 | 108 ++++++++++++-- > include/linux/dma/edma.h | 61 +++++++- > 9 files changed, 323 insertions(+), 185 deletions(-) > > -- > 2.35.1 > -- மணிவண்ணன் சதாசிவம்