From: Joy Zou <[email protected]>

commit 8f1bdf630736fccb27bb01f7c94721e272dd512d from
    https://source.codeaurora.org/external/imx/linux-imx

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 <[email protected]>
Reviewed by: Dong Aisheng <[email protected]>
Signed-off-by: Xiaolei Wang <[email protected]>
---
 drivers/dma/imx-sdma.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c
index 7fd32907cc4f..02a0aa072364 100644
--- a/drivers/dma/imx-sdma.c
+++ b/drivers/dma/imx-sdma.c
@@ -1832,8 +1832,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;
-- 
2.25.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#11552): 
https://lists.yoctoproject.org/g/linux-yocto/message/11552
Mute This Topic: https://lists.yoctoproject.org/mt/92931852/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to