Re: dmaengine: fsl-edma: dmatest timeout
From: Frank Li
Date: Wed Nov 29 2023 - 10:31:14 EST
On Wed, Nov 29, 2023 at 11:10:09AM +0800, wangxiaolei wrote:
>
> On 11/29/23 5:57 AM, Frank Li wrote:
> > CAUTION: This email comes from a non Wind River email account!
> > Do not click links or open attachments unless you recognize the sender and know the content is safe.
> >
> > On Tue, Nov 28, 2023 at 10:38:41AM -0500, Frank Li wrote:
> > > On Tue, Nov 28, 2023 at 12:43:59PM +0800, wangxiaolei wrote:
> > > > Hi
> > > >
> > > > When I executed the following command to do dmatest on the imx8qm platform,
> > > >
> > > > I found that the timeout occurred on the current mainline kernel:
> > > >
> > > >
> > > > modprobe dmatest run=1 iterations=42
> > > >
> > > dmatest use mem to mem transfer. It seldom used at actual system. Let me
> > > check it.
> > >
> > > Frank
> > >
> > > > I found that the completion interrupt was not received in
> > > > fsl_edma3_tx_handler().
> > I test at imx93, it works. I supposed it is the same as 8qm.
> >
> > echo dma0chan0 > /sys/module/dmatest/parameters/channel
> > echo 2000 > /sys/module/dmatest/parameters/timeout
> > echo 1 > /sys/module/dmatest/parameters/iterations
> > echo 1 > /sys/module/dmatest/parameters/run
> >
> > I add debug message:
> >
> > [ 154.090765] fsl_edma_tx_chan_handler
> > [ 154.094711] fsl_edma_prep_memcpy 8d842340 8d839280 7104
> > [ 154.100063] fsl_edma_tx_chan_handler
> > [ 154.103949] fsl_edma_prep_memcpy 8d8419c0 8d838580 4288
> > [ 154.109265] fsl_edma_tx_chan_handler
> > [ 154.113235] fsl_edma_prep_memcpy 8d840ec0 8d838340 6016
> > [ 154.118573] fsl_edma_tx_chan_handler
> > [ 154.122508] fsl_edma_prep_memcpy 8d841c00 8d83a8c0 1920
> > [ 154.127791] fsl_edma_tx_chan_handler
> > [ 154.131738] fsl_edma_prep_memcpy 8d840040 8d838200 14784
> > [ 154.137272] fsl_edma_tx_chan_handler
> > [ 154.141171] fsl_edma_prep_memcpy 8d840280 8d838080 15616
> > [ 154.146716] fsl_edma_tx_chan_handler
> > [ 154.150598] fsl_edma_prep_memcpy 8d840e00 8d838f40 4928
> > [ 154.155915] fsl_edma_tx_chan_handler
> > [ 154.159858] fsl_edma_prep_memcpy 8d8419c0 8d838040 7424
> > [ 154.165203] fsl_edma_tx_chan_handler
> > [ 154.169140] fsl_edma_prep_memcpy 8d841700 8d839380 2560
>
> Hi Frank
>
> I followed your steps and tested on imx8qm, but the timeout still occurs,
> and the interruption was still not reported:
>
Which eDMA controller dma0 map to? there are many controllers in qm.
Is it possible irq number wrong in dts?
Frank
> echo dma0chan0 > /sys/module/dmatest/parameters/channel
> [ 401.285217] dmatest: Added 1 threads using dma0chan0
> echo 2000 > /sys/module/dmatest/parameters/timeout
> echo 1 > /sys/module/dmatest/parameters/iterations
> echo 1 > /sys/module/dmatest/parameters/run
> dmatest: Started 1 threads using dma0chan0
>
> [ 452.292899] dmatest: dma0chan0-copy0: result #1: 'test timed out' with
> src_off=0x40 dst_off=0x8c0 len=0x3180 (0)
> [ 455.362690] dmatest: dma0chan0-copy0: result #2: 'test timed out' with
> src_off=0x880 dst_off=0x840 len=0x35c0 (0)
> [ 458.433127] dmatest: dma0chan0-copy0: result #3: 'test timed out' with
> src_off=0x2200 dst_off=0x2f80 len=0xbc0 (0)
> [ 461.505112] dmatest: dma0chan0-copy0: result #4: 'test timed out' with
> src_off=0x400 dst_off=0x22c0 len=0x940 (0)
> [ 464.581047] dmatest: dma0chan0-copy0: result #5: 'test timed out' with
> src_off=0x8c0 dst_off=0xa40 len=0x2b80 (0)
> [ 467.653415] dmatest: dma0chan0-copy0: result #6: 'test timed out' with
> src_off=0xdc0 dst_off=0x1300 len=0x1140 (0)
> [ 470.721481] dmatest: dma0chan0-copy0: result #7: 'test timed out' with
> src_off=0x1ec0 dst_off=0x900 len=0x1980 (0)
> [ 473.792990] dmatest: dma0chan0-copy0: result #8: 'test timed out' with
> src_off=0x500 dst_off=0xac0 len=0x31c0 (0)
> [ 476.865088] dmatest: dma0chan0-copy0: result #9: 'test timed out' with
> src_off=0xf40 dst_off=0x7c0 len=0x1a80 (0)
> [ 479.937155] dmatest: dma0chan0-copy0: result #10: 'test timed out' with
> src_off=0x240 dst_off=0xc0 len=0x23c0 (0)
> [ 483.013144] dmatest: dma0chan0-copy0: result #11: 'test timed out' with
> src_off=0x6c0 dst_off=0x940 len=0x2e00 (0)
> [ 486.081045] dmatest: dma0chan0-copy0: result #12: 'test timed out' with
> src_off=0xe40 dst_off=0x15c0 len=0x2a00 (0)
> [ 489.153248] dmatest: dma0chan0-copy0: result #13: 'test timed out' with
> src_off=0x700 dst_off=0xc00 len=0x2640 (0)
> [ 492.226221] dmatest: dma0chan0-copy0: result #14: 'test timed out' with
> src_off=0x1b80 dst_off=0x1740 len=0x1840 (0)
> [ 495.300954] dmatest: dma0chan0-copy0: result #15: 'test timed out' with
> src_off=0x980 dst_off=0x140 len=0x34c0 (0)
> [ 498.373058] dmatest: dma0chan0-copy0: result #16: 'test timed out' with
> src_off=0x14c0 dst_off=0xe80 len=0x100 (0)
> [ 501.445433] dmatest: dma0chan0-copy0: result #17: 'test timed out' with
> src_off=0x880 dst_off=0xc80 len=0xe80 (0)
> [ 504.513108] dmatest: dma0chan0-copy0: result #18: 'test timed out' with
> src_off=0xc00 dst_off=0x3b80 len=0x380 (0)
> [ 507.585497] dmatest: dma0chan0-copy0: result #19: 'test timed out' with
> src_off=0xd40 dst_off=0xec0 len=0x2c40 (0)
> [ 510.661497] dmatest: dma0chan0-copy0: result #20: 'test timed out' with
> src_off=0x880 dst_off=0xd80 len=0x24c0 (0)
> [ 513.729262] dmatest: dma0chan0-copy0: result #21: 'test timed out' with
> src_off=0x1080 dst_off=0x1680 len=0x22c0 (0)
> [ 516.805534] dmatest: dma0chan0-copy0: result #22: 'test timed out' with
> src_off=0x11c0 dst_off=0x300 len=0x2700 (0)
> [ 519.873187] dmatest: dma0chan0-copy0: result #23: 'test timed out' with
> src_off=0x940 dst_off=0x0 len=0xb40 (0)
> [ 522.949304] dmatest: dma0chan0-copy0: result #24: 'test timed out' with
> src_off=0x3340 dst_off=0x1640 len=0x400 (0)
> [ 526.021006] dmatest: dma0chan0-copy0: result #25: 'test timed out' with
> src_off=0x1b00 dst_off=0xc80 len=0xdc0 (0)
> [ 529.089833] dmatest: dma0chan0-copy0: result #26: 'test timed out' with
> src_off=0x24c0 dst_off=0x2bc0 len=0xf80 (0)
>
>
> thanks
>
> xiaolei
>
>
> >
> > Frank
> >
> > > > I didn't find any special configuration from the manual. Can anyone give
> > > > some suggestions?
> > > >
> > > >
> > > > thanks
> > > >
> > > > xiaolei
> > > >