From: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
To: Serge Semin <fancer.lancer@gmail.com>
Cc: Frank Li <Frank.Li@nxp.com>,
Serge Semin <Sergey.Semin@baikalelectronics.ru>,
gustavo.pimentel@synopsys.com, hongxing.zhu@nxp.com,
l.stach@pengutronix.de, linux-imx@nxp.com,
linux-pci@vger.kernel.org, dmaengine@vger.kernel.org,
lznuaa@gmail.com, vkoul@kernel.org, lorenzo.pieralisi@arm.com,
robh@kernel.org, kw@linux.com, bhelgaas@google.com,
shawnguo@kernel.org
Subject: Re: [PATCH v4 6/8] dmaengine: dw-edma: Don't rely on the deprecated "direction" member
Date: Thu, 10 Mar 2022 23:11:59 +0530 [thread overview]
Message-ID: <20220310174159.GF4869@thinkpad> (raw)
In-Reply-To: <20220310172930.g7xq3txjkbwtdmbw@mobilestation>
On Thu, Mar 10, 2022 at 08:29:30PM +0300, Serge Semin wrote:
> On Wed, Mar 09, 2022 at 03:12:02PM -0600, Frank Li wrote:
> > From: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
> >
> > The "direction" member of the "dma_slave_config" structure is deprecated.
> > The clients no longer use this field to specify the direction of the slave
> > channel. But in the eDMA core, this field is used to differentiate between the
> > Root complex (remote) and Endpoint (local) DMA accesses.
> >
> > Nevertheless, we can't differentiate between local and remote accesses without
> > a dedicated flag. So let's get rid of the old check and add a new check for
> > verifying the DMA operation between local and remote memory instead.
> >
> > Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
> > Signed-off-by: Frank Li <Frank.Li@nxp.com>
> > ---
> > no chang between v1 to v4
> > drivers/dma/dw-edma/dw-edma-core.c | 17 ++---------------
> > 1 file changed, 2 insertions(+), 15 deletions(-)
> >
> > diff --git a/drivers/dma/dw-edma/dw-edma-core.c b/drivers/dma/dw-edma/dw-edma-core.c
> > index 507f08db1aad3..47c6a52929fcd 100644
> > --- a/drivers/dma/dw-edma/dw-edma-core.c
> > +++ b/drivers/dma/dw-edma/dw-edma-core.c
> > @@ -341,22 +341,9 @@ dw_edma_device_transfer(struct dw_edma_transfer *xfer)
> > if (!chan->configured)
> > return NULL;
> >
> > - switch (chan->config.direction) {
> > - case DMA_DEV_TO_MEM: /* local DMA */
> > - if (dir == DMA_DEV_TO_MEM && chan->dir == EDMA_DIR_READ)
> > - break;
> > - return NULL;
> > - case DMA_MEM_TO_DEV: /* local DMA */
> > - if (dir == DMA_MEM_TO_DEV && chan->dir == EDMA_DIR_WRITE)
> > - break;
>
> > + /* eDMA supports only read and write between local and remote memory */
>
> The comment is a bit confusing because both cases are named as
> "memory" while the permitted directions contains DEV-part, which
> means "device". What I would suggest to write here is something like:
> "DW eDMA supports transferring data from/to the CPU/Application memory
> to/from the PCIe link partner device by injecting the PCIe MWr/MRd TLPs."
>
End of the day, you'd be transferring data between remote and local memory
only and the terms (local and remote) are also used in the databook. So I think
the comment is fine.
Thanks,
Mani
> -Sergey
>
> > + if (dir != DMA_DEV_TO_MEM && dir != DMA_MEM_TO_DEV)
> > return NULL;
> > - default: /* remote DMA */
> > - if (dir == DMA_MEM_TO_DEV && chan->dir == EDMA_DIR_READ)
> > - break;
> > - if (dir == DMA_DEV_TO_MEM && chan->dir == EDMA_DIR_WRITE)
> > - break;
> > - return NULL;
> > - }
> >
> > if (xfer->type == EDMA_XFER_CYCLIC) {
> > if (!xfer->xfer.cyclic.len || !xfer->xfer.cyclic.cnt)
> > --
> > 2.24.0.rc1
> >
next prev parent reply other threads:[~2022-03-10 17:42 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-03-09 21:11 [PATCH v4 0/8] Enable designware PCI EP EDMA locally Frank Li
2022-03-09 21:11 ` [PATCH v4 1/8] dmaengine: dw-edma: Detach the private data and chip info structures Frank Li
2022-03-10 12:50 ` Serge Semin
2022-03-10 20:20 ` Serge Semin
2022-03-10 20:29 ` Zhi Li
2022-03-11 11:03 ` Serge Semin
2022-03-11 15:29 ` Zhi Li
2022-03-12 19:56 ` Serge Semin
2022-03-12 19:54 ` Serge Semin
2022-03-09 21:11 ` [PATCH v4 2/8] dmaengine: dw-edma: remove unused field irq in struct dw_edma_chip Frank Li
2022-03-10 12:52 ` Serge Semin
2022-03-09 21:11 ` [PATCH v4 3/8] dmaengine: dw-edma: change rg_region to reg_base " Frank Li
2022-03-10 12:56 ` Serge Semin
2022-03-09 21:12 ` [PATCH v4 4/8] dmaengine: dw-edma: rename wr(rd)_ch_cnt to ll_wr(rd)_cnt " Frank Li
2022-03-10 12:37 ` Serge Semin
2022-03-10 16:26 ` Zhi Li
2022-03-10 16:51 ` Zhi Li
2022-03-10 18:45 ` Serge Semin
2022-03-09 21:12 ` [PATCH v4 5/8] dmaengine: dw-edma: Fix programming the source & dest addresses for ep Frank Li
2022-03-10 16:31 ` Serge Semin
2022-03-10 16:50 ` Zhi Li
2022-03-10 19:37 ` Serge Semin
2022-03-10 20:16 ` Zhi Li
2022-03-11 12:38 ` Serge Semin
2022-03-11 15:37 ` Zhi Li
2022-03-11 16:03 ` Zhi Li
2022-03-11 17:14 ` Serge Semin
2022-03-11 17:55 ` Manivannan Sadhasivam
2022-03-11 19:08 ` Serge Semin
2022-03-11 17:46 ` Manivannan Sadhasivam
2022-03-11 17:41 ` Manivannan Sadhasivam
2022-03-11 19:01 ` Serge Semin
2022-03-12 5:37 ` Manivannan Sadhasivam
2022-03-14 8:33 ` Serge Semin
2022-03-18 18:06 ` Manivannan Sadhasivam
2022-03-18 18:19 ` Serge Semin
2022-03-20 23:16 ` Serge Semin
2022-03-22 13:55 ` Zhi Li
2022-03-22 14:03 ` Serge Semin
2022-03-22 22:25 ` Serge Semin
2022-03-09 21:12 ` [PATCH v4 6/8] dmaengine: dw-edma: Don't rely on the deprecated "direction" member Frank Li
2022-03-10 17:29 ` Serge Semin
2022-03-10 17:41 ` Manivannan Sadhasivam [this message]
2022-03-10 17:52 ` Serge Semin
2022-03-11 17:58 ` Manivannan Sadhasivam
2022-03-09 21:12 ` [PATCH v4 7/8] dmaengine: dw-edma: add flags at struct dw_edma_chip Frank Li
2022-03-10 1:07 ` kernel test robot
2022-03-10 1:07 ` kernel test robot
2022-03-10 17:46 ` Serge Semin
2022-03-10 17:54 ` Zhi Li
2022-03-10 18:25 ` Serge Semin
2022-03-09 21:12 ` [PATCH v4 8/8] PCI: endpoint: functions/pci-epf-test: Support PCI controller DMA Frank Li
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220310174159.GF4869@thinkpad \
--to=manivannan.sadhasivam@linaro.org \
--cc=Frank.Li@nxp.com \
--cc=Sergey.Semin@baikalelectronics.ru \
--cc=bhelgaas@google.com \
--cc=dmaengine@vger.kernel.org \
--cc=fancer.lancer@gmail.com \
--cc=gustavo.pimentel@synopsys.com \
--cc=hongxing.zhu@nxp.com \
--cc=kw@linux.com \
--cc=l.stach@pengutronix.de \
--cc=linux-imx@nxp.com \
--cc=linux-pci@vger.kernel.org \
--cc=lorenzo.pieralisi@arm.com \
--cc=lznuaa@gmail.com \
--cc=robh@kernel.org \
--cc=shawnguo@kernel.org \
--cc=vkoul@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.