Re: [PATCH v11 02/13] PCI: endpoint: functions/pci-epf-test: Fix dma_chan direction

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

 



Hi Shimoda-san,

On 2023/03/10 21:34, 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.

I also encounted this issue and found this patch before sending my fixes patch
for the same diff as this one.
And I confirmed the issue is fixed using pcitest with eDMA on UniPhier SoCs.

For 02/13 patch if not already merged:

Tested-by: Kunihiko Hayashi <hayashi.kunihiko@xxxxxxxxxxxxx>

Thank you,


Fixes: 8353813c88ef ("PCI: endpoint: Enable DMA tests for endpoints with
DMA capabilities")
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx>
Reviewed-by: Frank Li <Frank.Li@xxxxxxx>
---
  drivers/pci/endpoint/functions/pci-epf-test.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

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;

---
Best Regards
Kunihiko Hayashi



[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