4.3.6. 常见问题

4.3.6.1. dmatest 时verify数据报错

4.3.6.1.1. 现象

当运行dmatest测试时,错误log类似如下:

[  381.878419] dmatest: dma0chan5-copy0: dstbuf[0x3f70] mismatch! Expected cf, got d7
[  381.885999] dmatest: dma0chan5-copy0: dstbuf[0x3f71] mismatch! Expected ce, got d6
[  381.893611] dmatest: dma0chan5-copy0: dstbuf[0x3f72] mismatch! Expected cd, got d5
[  381.901199] dmatest: dma0chan5-copy0: dstbuf[0x3f73] mismatch! Expected cc, got d4
[  381.908783] dmatest: dma0chan5-copy0: dstbuf[0x3f74] mismatch! Expected cb, got d3
[  381.916350] dmatest: dma0chan5-copy0: dstbuf[0x3f75] mismatch! Expected ca, got d2

4.3.6.1.2. 原因分析

dmatest的默认配置是需要verify测试数据的。

当进行多通道(max_channels>1)测试时,必须要使能polled属性,以保证通道的测试过程是串行的,否则会报verify错误。

设置polled属性的方法见 dmatest 测试