Message ID | 20230221101706.3530869-1-yoshihiro.shimoda.uh@renesas.com |
---|---|
State | New |
Headers | show |
Series | [RESEND] PCI: endpoint: functions/pci-epf-test: Fix dma_chan direction | expand |
On Tue, Feb 21, 2023 at 07:17:06PM +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 NG on eDMA > environment. "NG"?
Hi Bjorn, > From: Bjorn Helgaas, Sent: Wednesday, February 22, 2023 5:08 AM > > On Tue, Feb 21, 2023 at 07:17:06PM +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 NG on eDMA > > environment. > > "NG"? I'm sorry, I completely mistook this. This should be "NOT OKAY", not "NG". I'll fix this patch on v2. Best regards, Yoshihiro Shimoda
On Wed, Feb 22, 2023 at 12:49:14AM +0000, Yoshihiro Shimoda wrote: > > From: Bjorn Helgaas, Sent: Wednesday, February 22, 2023 5:08 AM > > On Tue, Feb 21, 2023 at 07:17:06PM +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 NG on eDMA > > > environment. > > > > "NG"? > > I'm sorry, I completely mistook this. > This should be "NOT OKAY", not "NG". That should match something printed by pcitest, which would be a good thing. Thanks for expanding it for non-pcitest experts like me! Bjorn
diff --git a/drivers/pci/endpoint/functions/pci-epf-test.c b/drivers/pci/endpoint/functions/pci-epf-test.c index 55283d2379a6..3a720ed4655e 100644 --- a/drivers/pci/endpoint/functions/pci-epf-test.c +++ b/drivers/pci/endpoint/functions/pci-epf-test.c @@ -113,7 +113,7 @@ static int pci_epf_test_data_transfer(struct pci_epf_test *epf_test, enum dma_transfer_direction dir) { struct dma_chan *chan = (dir == DMA_DEV_TO_MEM) ? - epf_test->dma_chan_tx : epf_test->dma_chan_rx; + epf_test->dma_chan_rx : epf_test->dma_chan_tx; 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; struct pci_epf *epf = epf_test->epf;
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 NG 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> --- drivers/pci/endpoint/functions/pci-epf-test.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)