From: Joy Zou Date: Tue, 15 Feb 2022 09:45:28 +0000 (+0800) Subject: LF-5479: dmaengine: imx-sdma: sdma memcpy test fail X-Git-Tag: rel_imx_5.10.35_2.0.0-somdevices.2~1 X-Git-Url: https://git.somdevices.com/?a=commitdiff_plain;h=78960a99127fc5eae6ea170b350fea2d7f379dad;p=linux.git LF-5479: dmaengine: imx-sdma: sdma memcpy test fail The sdma memcpy test fail due to the channel priority not configured. The sdma_config_write-> sdma_config_channel-> sdma_set_channel_priority didn't be called in memcpy, So there are only memcpy test fail. The test fail log : root@imx8mnevk:~# echo 2000 > /sys/module/dmatest/parameters/timeout root@imx8mnevk:~# echo 1 > /sys/module/dmatest/parameters/iterations root@imx8mnevk:~# echo dma0chan1 > /sys/module/dmatest/parameters/channel [ 248.264090] dmatest: Added 1 threads using dma0chan1 root@imx8mnevk:~# echo 1 > /sys/module/dmatest/parameters/run [ 253.961791] dmatest: Started 1 threads using dma0chan1 root@imx8mnevk:~# [ 255.967043] dmatest: dma0chan1-copy0: result #1: 'test timed out' with src_off=0xc4 dst_off=0x3c len=0x3ec0 (0) [ 255.977236] dmatest: dma0chan1-copy0: summary 1 tests, 1 failures 0.49 iops 7 KB/s (0) This patch adds sdma_set_channel_priority for memcpy in transfer_init. Fixes: 111097595c1c ("MLK-25465-1 dmaengine: imx-sdma: move runtime behind to transfer phase") Signed-off-by: Joy Zou Reviewed by: Dong Aisheng Acked-by: Jason Liu --- diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c index dba5f9dde204..0fadcd39d921 100644 --- a/drivers/dma/imx-sdma.c +++ b/drivers/dma/imx-sdma.c @@ -1801,8 +1801,10 @@ static struct sdma_desc *sdma_transfer_init(struct sdma_channel *sdmac, goto err_desc_out; /* No slave_config called in MEMCPY case, so do here */ - if (direction == DMA_MEM_TO_MEM) + if (direction == DMA_MEM_TO_MEM) { sdma_config_ownership(sdmac, false, true, false); + sdma_set_channel_priority(sdmac, sdmac->prio); + } if (sdma_load_context(sdmac)) goto err_desc_out;