mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 09:19:51 +00:00
Merge branch 'topic/edma' into for-linus
This commit is contained in:
commit
5debef8a45
1 changed files with 9 additions and 6 deletions
|
@ -1112,14 +1112,17 @@ static struct dma_async_tx_descriptor *edma_prep_slave_sg(
|
|||
edesc->absync = ret;
|
||||
edesc->residue += sg_dma_len(sg);
|
||||
|
||||
/* If this is the last in a current SG set of transactions,
|
||||
enable interrupts so that next set is processed */
|
||||
if (!((i+1) % MAX_NR_SG))
|
||||
edesc->pset[i].param.opt |= TCINTEN;
|
||||
|
||||
/* If this is the last set, enable completion interrupt flag */
|
||||
if (i == sg_len - 1)
|
||||
/* Enable completion interrupt */
|
||||
edesc->pset[i].param.opt |= TCINTEN;
|
||||
else if (!((i+1) % MAX_NR_SG))
|
||||
/*
|
||||
* Enable early completion interrupt for the
|
||||
* intermediateset. In this case the driver will be
|
||||
* notified when the paRAM set is submitted to TC. This
|
||||
* will allow more time to set up the next set of slots.
|
||||
*/
|
||||
edesc->pset[i].param.opt |= (TCINTEN | TCCMODE);
|
||||
}
|
||||
edesc->residue_stat = edesc->residue;
|
||||
|
||||
|
|
Loading…
Reference in a new issue