dmaengine: sprd: Fix the incorrect start for 2-stage destination channels

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>
This commit is contained in:
Eric Long 2019-05-06 15:28:30 +08:00 committed by Vinod Koul
parent 58152b0e57
commit 3d626a97f0
1 changed files with 3 additions and 1 deletions

View 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);
}