mbox series

[v5,0/9] Enable designware PCI EP EDMA locally

Message ID 20220310192457.3090-1-Frank.Li@nxp.com (mailing list archive)
Headers show
Series Enable designware PCI EP EDMA locally | expand

Message

Frank Li March 10, 2022, 7:24 p.m. UTC
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: functions/pci-epf-test: Support PCI controller DMA

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: 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
    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: functions/pci-epf-test: Support PCI controller DMA

Manivannan Sadhasivam (2):
  dmaengine: dw-edma: Fix programming the source & dest addresses for ep
  dmaengine: dw-edma: Don't rely on the deprecated "direction" member

 drivers/dma/dw-edma/dw-edma-core.c            | 131 +++++++++++-------
 drivers/dma/dw-edma/dw-edma-core.h            |  32 +----
 drivers/dma/dw-edma/dw-edma-pcie.c            |  83 +++++------
 drivers/dma/dw-edma/dw-edma-v0-core.c         |  46 +++---
 drivers/dma/dw-edma/dw-edma-v0-debugfs.c      |  10 +-
 drivers/pci/endpoint/functions/pci-epf-test.c | 108 +++++++++++++--
 include/linux/dma/edma.h                      |  56 +++++++-
 7 files changed, 298 insertions(+), 168 deletions(-)

Comments

Serge Semin March 10, 2022, 7:45 p.m. UTC | #1
Frank,

Please don't re-send patch so quickly. We haven't finished discussing
and reviewing v4 yet, but you've already sent out v5 with possibly some of
the comments missed. In addition you haven't addressed all my comments
in the v4. Please get back there and let's finish all the discussions
first. Regarding the resibmitting procedure see [1].

[1] Documentation/process/submitting-patches.rst: "Don't get discouraged - or impatient"

-Sergey

On Thu, Mar 10, 2022 at 01:24:48PM -0600, 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: functions/pci-epf-test: Support PCI controller DMA
> 
> 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: 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
>     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: functions/pci-epf-test: Support PCI controller DMA
> 
> Manivannan Sadhasivam (2):
>   dmaengine: dw-edma: Fix programming the source & dest addresses for ep
>   dmaengine: dw-edma: Don't rely on the deprecated "direction" member
> 
>  drivers/dma/dw-edma/dw-edma-core.c            | 131 +++++++++++-------
>  drivers/dma/dw-edma/dw-edma-core.h            |  32 +----
>  drivers/dma/dw-edma/dw-edma-pcie.c            |  83 +++++------
>  drivers/dma/dw-edma/dw-edma-v0-core.c         |  46 +++---
>  drivers/dma/dw-edma/dw-edma-v0-debugfs.c      |  10 +-
>  drivers/pci/endpoint/functions/pci-epf-test.c | 108 +++++++++++++--
>  include/linux/dma/edma.h                      |  56 +++++++-
>  7 files changed, 298 insertions(+), 168 deletions(-)
> 
> -- 
> 2.24.0.rc1
>
Zhi Li March 10, 2022, 7:58 p.m. UTC | #2
On Thu, Mar 10, 2022 at 1:45 PM Serge Semin <fancer.lancer@gmail.com> wrote:
>
> Frank,
>
> Please don't re-send patch so quickly. We haven't finished discussing
> and reviewing v4 yet, but you've already sent out v5 with possibly some of
> the comments missed. In addition you haven't addressed all my comments

I think I have already finished my patches.
The comments missed are manivannan's patches, which should be fixed by him.

best regards
Frank Li

> in the v4. Please get back there and let's finish all the discussions
> first. Regarding the resibmitting procedure see [1].
>
> [1] Documentation/process/submitting-patches.rst: "Don't get discouraged - or impatient"
>
> -Sergey
>
> On Thu, Mar 10, 2022 at 01:24:48PM -0600, 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: functions/pci-epf-test: Support PCI controller DMA
> >
> > 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: 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
> >     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: functions/pci-epf-test: Support PCI controller DMA
> >
> > Manivannan Sadhasivam (2):
> >   dmaengine: dw-edma: Fix programming the source & dest addresses for ep
> >   dmaengine: dw-edma: Don't rely on the deprecated "direction" member
> >
> >  drivers/dma/dw-edma/dw-edma-core.c            | 131 +++++++++++-------
> >  drivers/dma/dw-edma/dw-edma-core.h            |  32 +----
> >  drivers/dma/dw-edma/dw-edma-pcie.c            |  83 +++++------
> >  drivers/dma/dw-edma/dw-edma-v0-core.c         |  46 +++---
> >  drivers/dma/dw-edma/dw-edma-v0-debugfs.c      |  10 +-
> >  drivers/pci/endpoint/functions/pci-epf-test.c | 108 +++++++++++++--
> >  include/linux/dma/edma.h                      |  56 +++++++-
> >  7 files changed, 298 insertions(+), 168 deletions(-)
> >
> > --
> > 2.24.0.rc1
> >
Serge Semin March 10, 2022, 8 p.m. UTC | #3
On Thu, Mar 10, 2022 at 10:53:45PM +0300, Serge Semin wrote:
> Frank,
> 
> Please don't re-send patch so quickly. We haven't finished discussing
> and reviewing v4 yet, but you've already sent out v5 with possibly some of
> the comments missed. In addition you haven't addressed all my comments
> in the v4. Please get back there and let's finish all the discussions
> first. Regarding the resibmitting procedure see [1].
> 
> [1] Documentation/process/submitting-patches.rst: "Don't get discouraged - or impatient"

Note due to that you've missed not only my comments, but also the
Mani' ones. Like this:
https://lore.kernel.org/dmaengine/20220310075539.GD4869@thinkpad/

Please be patient. We are spending our time reviewing your patchset in
an attempt to make it better, and the kernel code/repo log to be more
readable and coherent. Skipping some comments not only wastes our time,
but looks like disregard to the work we've done.

As soon as you see all the discussions are over, and there is no need
to wait for additional comments, then you can re-spin the series.

-Sergey

> 
> -Sergey
> 
> On Thu, Mar 10, 2022 at 01:24:48PM -0600, 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: functions/pci-epf-test: Support PCI controller DMA
> > 
> > 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: 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
> >     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: functions/pci-epf-test: Support PCI controller DMA
> > 
> > Manivannan Sadhasivam (2):
> >   dmaengine: dw-edma: Fix programming the source & dest addresses for ep
> >   dmaengine: dw-edma: Don't rely on the deprecated "direction" member
> > 
> >  drivers/dma/dw-edma/dw-edma-core.c            | 131 +++++++++++-------
> >  drivers/dma/dw-edma/dw-edma-core.h            |  32 +----
> >  drivers/dma/dw-edma/dw-edma-pcie.c            |  83 +++++------
> >  drivers/dma/dw-edma/dw-edma-v0-core.c         |  46 +++---
> >  drivers/dma/dw-edma/dw-edma-v0-debugfs.c      |  10 +-
> >  drivers/pci/endpoint/functions/pci-epf-test.c | 108 +++++++++++++--
> >  include/linux/dma/edma.h                      |  56 +++++++-
> >  7 files changed, 298 insertions(+), 168 deletions(-)
> > 
> > -- 
> > 2.24.0.rc1
> >
Bjorn Helgaas March 11, 2022, 10:58 p.m. UTC | #4
On Thu, Mar 10, 2022 at 01:24:48PM -0600, 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: functions/pci-epf-test: Support PCI controller DMA
> 
> 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: 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
>     dw_edma_chip
>   dmaengine: dw-edma: rename wr(rd)_ch_cnt to ll_wr(rd)_cnt in struct
>     dw_edma_chip

These should be consistently capitalized to match previous commits
(and the rest of your own commits :)):

s/remove unused/Remove unused/
s/change rg_region/Change rg_region/
s/rename wr/Rename wr/

>   dmaengine: dw-edma: Add support for chip specific flags
>   dmaengine: dw-edma: Add DW_EDMA_CHIP_32BIT_DBI for chip specific flags
>   PCI: endpoint: functions/pci-epf-test: Support PCI controller DMA

There are a couple commits that use the whole "PCI: endpoint:
functions/pci-epf-test:" prefix, but IMO it's a bit of overkill to use
so much space just for the prefix.

Maybe something like this would be enough?

  PCI: endpoint: Add embedded DMA controller test

> Manivannan Sadhasivam (2):
>   dmaengine: dw-edma: Fix programming the source & dest addresses for ep
>   dmaengine: dw-edma: Don't rely on the deprecated "direction" member
> 
>  drivers/dma/dw-edma/dw-edma-core.c            | 131 +++++++++++-------
>  drivers/dma/dw-edma/dw-edma-core.h            |  32 +----
>  drivers/dma/dw-edma/dw-edma-pcie.c            |  83 +++++------
>  drivers/dma/dw-edma/dw-edma-v0-core.c         |  46 +++---
>  drivers/dma/dw-edma/dw-edma-v0-debugfs.c      |  10 +-
>  drivers/pci/endpoint/functions/pci-epf-test.c | 108 +++++++++++++--
>  include/linux/dma/edma.h                      |  56 +++++++-
>  7 files changed, 298 insertions(+), 168 deletions(-)
> 
> -- 
> 2.24.0.rc1
>