forked from Minki/linux
Merge branch 'fixes' of git://git.infradead.org/users/vkoul/slave-dma
Pull slave-dmaengine fixes fromVinod Koul: "fixes of cylic dma usages in slave dma drivers" * 'fixes' of git://git.infradead.org/users/vkoul/slave-dma: dmaengine: fix cyclic dma usage dmaengine: pl330: dont complete descriptor for cyclic dma
This commit is contained in:
commit
1be5f0b757
@ -245,7 +245,9 @@ atc_chain_complete(struct at_dma_chan *atchan, struct at_desc *desc)
|
||||
dev_vdbg(chan2dev(&atchan->chan_common),
|
||||
"descriptor %u complete\n", txd->cookie);
|
||||
|
||||
dma_cookie_complete(txd);
|
||||
/* mark the descriptor as complete for non cyclic cases only */
|
||||
if (!atc_chan_is_cyclic(atchan))
|
||||
dma_cookie_complete(txd);
|
||||
|
||||
/* move children to free_list */
|
||||
list_splice_init(&desc->tx_list, &atchan->free_list);
|
||||
|
@ -703,7 +703,9 @@ static void ep93xx_dma_tasklet(unsigned long data)
|
||||
desc = ep93xx_dma_get_active(edmac);
|
||||
if (desc) {
|
||||
if (desc->complete) {
|
||||
dma_cookie_complete(&desc->txd);
|
||||
/* mark descriptor complete for non cyclic case only */
|
||||
if (!test_bit(EP93XX_DMA_IS_CYCLIC, &edmac->flags))
|
||||
dma_cookie_complete(&desc->txd);
|
||||
list_splice_init(&edmac->active, &list);
|
||||
}
|
||||
callback = desc->txd.callback;
|
||||
|
@ -2322,7 +2322,8 @@ static void pl330_tasklet(unsigned long data)
|
||||
/* Pick up ripe tomatoes */
|
||||
list_for_each_entry_safe(desc, _dt, &pch->work_list, node)
|
||||
if (desc->status == DONE) {
|
||||
dma_cookie_complete(&desc->txd);
|
||||
if (pch->cyclic)
|
||||
dma_cookie_complete(&desc->txd);
|
||||
list_move_tail(&desc->node, &list);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user