diff mbox series

[v12] PCI: endpoint: functions/pci-epf-test: Fix dma_chan direction

Message ID 20230412063447.2841177-1-yoshihiro.shimoda.uh@renesas.com (mailing list archive)
State Mainlined
Commit 880d51c729a3fa944794feb19f605eefe55916fc
Delegated to: Geert Uytterhoeven
Headers show
Series [v12] PCI: endpoint: functions/pci-epf-test: Fix dma_chan direction | expand

Commit Message

Yoshihiro Shimoda April 12, 2023, 6:34 a.m. UTC
In the pci_epf_test_init_dma_chan(), epf_test->dma_chan_rx
is assigned from dma_request_channel() with DMA_DEV_TO_MEM as
filter.dma_mask. However, in the pci_epf_test_data_transfer(),
if the dir is DMA_DEV_TO_MEM, it should use epf->dma_chan_rx,
but it used epf_test->dma_chan_tx. So, fix it. Otherwise,
results of pcitest with enabled DMA will be "NOT OKAY" on eDMA
environment.

Fixes: 8353813c88ef ("PCI: endpoint: Enable DMA tests for endpoints with DMA capabilities")
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Tested-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
---
 Patch history:
 v1: https://lore.kernel.org/linux-pci/20230221100949.3530608-1-yoshihiro.shimoda.uh@renesas.com/
 v1 resend: https://lore.kernel.org/linux-pci/20230221101706.3530869-1-yoshihiro.shimoda.uh@renesas.com/
 v2: https://lore.kernel.org/linux-pci/20230222015327.3585691-1-yoshihiro.shimoda.uh@renesas.com/
 v10 [1]: https://lore.kernel.org/linux-pci/20230308082352.491561-3-yoshihiro.shimoda.uh@renesas.com/
 v11 [1]: https://lore.kernel.org/linux-pci/20230310123510.675685-3-yoshihiro.shimoda.uh@renesas.com/
 v12: This patch.

 Changes from v11:
 - Add Tested-by (Thanks Hayashi-san!).

[1] Include this patch into R-Car S4 support patch series. However, I need
    more time to fix the R-Car patches. So, I send this fix patch independently.

 drivers/pci/endpoint/functions/pci-epf-test.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Lorenzo Pieralisi April 21, 2023, 1:56 p.m. UTC | #1
On Wed, 12 Apr 2023 15:34:47 +0900, Yoshihiro Shimoda wrote:
> In the pci_epf_test_init_dma_chan(), epf_test->dma_chan_rx
> is assigned from dma_request_channel() with DMA_DEV_TO_MEM as
> filter.dma_mask. However, in the pci_epf_test_data_transfer(),
> if the dir is DMA_DEV_TO_MEM, it should use epf->dma_chan_rx,
> but it used epf_test->dma_chan_tx. So, fix it. Otherwise,
> results of pcitest with enabled DMA will be "NOT OKAY" on eDMA
> environment.
> 
> [...]

Applied to controller/endpoint, thanks!

[1/1] PCI: endpoint: functions/pci-epf-test: Fix dma_chan direction
      https://git.kernel.org/pci/pci/c/604de32d55a2

Thanks,
Lorenzo
diff mbox series

Patch

diff --git a/drivers/pci/endpoint/functions/pci-epf-test.c b/drivers/pci/endpoint/functions/pci-epf-test.c
index 0f9d2ec822ac..172e5ac0bd96 100644
--- a/drivers/pci/endpoint/functions/pci-epf-test.c
+++ b/drivers/pci/endpoint/functions/pci-epf-test.c
@@ -112,7 +112,7 @@  static int pci_epf_test_data_transfer(struct pci_epf_test *epf_test,
 				      size_t len, dma_addr_t dma_remote,
 				      enum dma_transfer_direction dir)
 {
-	struct dma_chan *chan = (dir == DMA_DEV_TO_MEM) ?
+	struct dma_chan *chan = (dir == DMA_MEM_TO_DEV) ?
 				 epf_test->dma_chan_tx : epf_test->dma_chan_rx;
 	dma_addr_t dma_local = (dir == DMA_MEM_TO_DEV) ? dma_src : dma_dst;
 	enum dma_ctrl_flags flags = DMA_CTRL_ACK | DMA_PREP_INTERRUPT;