]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
dmaengine: sprd: Fix the incorrect start for 2-stage destination channels
authorEric Long <eric.long@unisoc.com>
Mon, 6 May 2019 07:28:30 +0000 (15:28 +0800)
committerVinod Koul <vkoul@kernel.org>
Tue, 21 May 2019 13:53:54 +0000 (19:23 +0530)
The 2-stage destination channel will be triggered by source channel
automatically, which means we should not trigger it by software request.

Signed-off-by: Eric Long <eric.long@unisoc.com>
Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/sprd-dma.c

index 431e289d59a55ff4e22024b9d596ee7e32508a7b..0f92e60529d163ccc18e4a8dfb2a1eb785e01cfd 100644 (file)
@@ -510,7 +510,9 @@ static void sprd_dma_start(struct sprd_dma_chn *schan)
        sprd_dma_set_uid(schan);
        sprd_dma_enable_chn(schan);
 
-       if (schan->dev_id == SPRD_DMA_SOFTWARE_UID)
+       if (schan->dev_id == SPRD_DMA_SOFTWARE_UID &&
+           schan->chn_mode != SPRD_DMA_DST_CHN0 &&
+           schan->chn_mode != SPRD_DMA_DST_CHN1)
                sprd_dma_soft_request(schan);
 }