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:
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