Re: [PATCH v9 0/9] Enable designware PCI EP EDMA locally

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello folks,

My review is finally over. Aside with that I've tested the series on
Baikal-T1 SoC, which has DW PCIe Host controller v4.60 and DW eDMA
embedded. A test was performed on kernel v5.18-rc3 by a simple driver
copying random data from system memory to SM768 framebuffer and
vise-versa. So @Frank feel free to add my tag to the entire series:

Tested-by: Serge Semin <fancer.lancer@xxxxxxxxx>

@Lorenzo, @Rob, @Vinod, my patchset:
Link: https://lore.kernel.org/linux-pci/20220324014836.19149-1-Sergey.Semin@xxxxxxxxxxxxxxxxxxxx
is based on this one. In its turn my series depends on the other
patchsets:
[PATCH v2 0/4] clk: Baikal-T1 DDR/PCIe resets and some xGMAC fixes
Link: [https://lore.kernel.org/linux-pci/20220330144320.27039-1-Sergey.Semin@xxxxxxxxxxxxxxxxxxxx
[PATCH 00/12] PCI: dwc: Various fixes and cleanups
Link: https://lore.kernel.org/linux-pci/20220324012524.16784-1-Sergey.Semin@xxxxxxxxxxxxxxxxxxxx
[PATCH 00/16] PCI: dwc: Add dma-ranges/YAML-schema/Baikal-T1 support
https://lore.kernel.org/linux-pci/20220324013734.18234-1-Sergey.Semin@xxxxxxxxxxxxxxxxxxxx
which are currently on review. (BTW @Rob I am waiting for your
responses there to go on with v2 re-spin.) I am very much eager to get
my patches ready before the next merge windows. But in order to
preserve the consistency of the corresponding repo with my patchsets
it needs to have the @Frank' patches. Seeing aside with @Frank's
series my changes depends on the changes in the clk and pci
subsystems, could you please consider choosing a single repository for
merging all my and @Frank patches in. Since the changes mostly concern
the DW PCIe controller I suggest to use the 'pci/dwc' branch of the
'kernel/git/lpieralisi/pci.git' repository. What do you think?
@Lorenzo?

-Sergey

On Fri, Apr 22, 2022 at 09:36:34AM -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
> 
> 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: Add embedded DMA controller test
> 
> 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            | 139 +++++++++++-------
>  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      |  10 +-
>  drivers/pci/endpoint/functions/pci-epf-test.c | 108 ++++++++++++--
>  include/linux/dma/edma.h                      |  59 +++++++-
>  8 files changed, 312 insertions(+), 176 deletions(-)
> 
> -- 
> 2.35.1
> 



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux