cnl: dma: fix playback failed at second time

Stop dma at the end of playback, or next time dma
is not available for playback
This commit is contained in:
Rander Wang 2018-03-02 15:17:31 +08:00 committed by Liam Girdwood
parent 1693b66bb1
commit f8126f09e4
1 changed files with 6 additions and 0 deletions

View File

@ -1103,6 +1103,12 @@ static void dw_dma_irq_handler(void *data)
p->chan[i].cb(p->chan[i].cb_data,
DMA_IRQ_TYPE_BLOCK, &next);
}
if (next.size == DMA_RELOAD_END) {
trace_dma("LSo");
/* disable channel, finished */
dw_write(dma, DW_DMA_CHAN_EN, CHAN_DISABLE(i));
}
#endif
/* end of a transfer */
if ((status_tfr & mask) &&