Hi Hayashi-san, > From: Kunihiko Hayashi, Sent: Wednesday, April 12, 2023 1:23 PM > > 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 very much for your Tested-by! Since I need more time to fix v12 patch series for some reasons, I'll send this patch independently. Best regards, Yoshihiro Shimoda > 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