Message ID | 20220422143643.727871-1-Frank.Li@nxp.com (mailing list archive) |
---|---|
Headers | show |
Series | Enable designware PCI EP EDMA locally | expand |
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@gmail.com> @Lorenzo, @Rob, @Vinod, my patchset: Link: https://lore.kernel.org/linux-pci/20220324014836.19149-1-Sergey.Semin@baikalelectronics.ru 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@baikalelectronics.ru [PATCH 00/12] PCI: dwc: Various fixes and cleanups Link: https://lore.kernel.org/linux-pci/20220324012524.16784-1-Sergey.Semin@baikalelectronics.ru [PATCH 00/16] PCI: dwc: Add dma-ranges/YAML-schema/Baikal-T1 support https://lore.kernel.org/linux-pci/20220324013734.18234-1-Sergey.Semin@baikalelectronics.ru 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 >
On Fri, Apr 22, 2022 at 12:53 PM Serge Semin <fancer.lancer@gmail.com> wrote: > > 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@gmail.com> Thanks. I think the maintainer can add this when they pick up the patches. I will add it if patches need to be respin. best regards Frank Li > > @Lorenzo, @Rob, @Vinod, my patchset: > Link: https://lore.kernel.org/linux-pci/20220324014836.19149-1-Sergey.Semin@baikalelectronics.ru > 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@baikalelectronics.ru > [PATCH 00/12] PCI: dwc: Various fixes and cleanups > Link: https://lore.kernel.org/linux-pci/20220324012524.16784-1-Sergey.Semin@baikalelectronics.ru > [PATCH 00/16] PCI: dwc: Add dma-ranges/YAML-schema/Baikal-T1 support > https://lore.kernel.org/linux-pci/20220324013734.18234-1-Sergey.Semin@baikalelectronics.ru > 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 > >
On Fri, Apr 22, 2022 at 12:57:32PM -0500, Zhi Li wrote: > On Fri, Apr 22, 2022 at 12:53 PM Serge Semin <fancer.lancer@gmail.com> wrote: > > > > 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@gmail.com> > > Thanks. I think the maintainer can add this when they pick up the patches. > I will add it if patches need to be respin. Right, 'b4 am -t' does the trick. -Sergey > > best regards > Frank Li > > > > > @Lorenzo, @Rob, @Vinod, my patchset: > > Link: https://lore.kernel.org/linux-pci/20220324014836.19149-1-Sergey.Semin@baikalelectronics.ru > > 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@baikalelectronics.ru > > [PATCH 00/12] PCI: dwc: Various fixes and cleanups > > Link: https://lore.kernel.org/linux-pci/20220324012524.16784-1-Sergey.Semin@baikalelectronics.ru > > [PATCH 00/16] PCI: dwc: Add dma-ranges/YAML-schema/Baikal-T1 support > > https://lore.kernel.org/linux-pci/20220324013734.18234-1-Sergey.Semin@baikalelectronics.ru > > 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 > > >