mirror of
https://github.com/torvalds/linux.git
synced 2024-11-27 06:31:52 +00:00
dmaengine: zxdma: Fix force stop bug
DMA will not stop when clearing enable bit till all transaction is done. The bug is exposed in audio playback because ring DMA chain never stop. Force hardware to stop with setting FORCE bit. Signed-off-by: Jun Nie <jun.nie@linaro.org> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
This commit is contained in:
parent
2092539b77
commit
ed9c87b331
@ -144,6 +144,7 @@ static void zx_dma_terminate_chan(struct zx_dma_phy *phy, struct zx_dma_dev *d)
|
||||
|
||||
val = readl_relaxed(phy->base + REG_ZX_CTRL);
|
||||
val &= ~ZX_CH_ENABLE;
|
||||
val |= ZX_FORCE_CLOSE;
|
||||
writel_relaxed(val, phy->base + REG_ZX_CTRL);
|
||||
|
||||
val = 0x1 << phy->idx;
|
||||
|
Loading…
Reference in New Issue
Block a user