mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
dmaengine: dma-jz4780: Add missing residue DTC mask
The 'dtc' word in jz DMA descriptors contains two fields: The lowest 24 bits are the transfer count, and upper 8 bits are the DOA offset to next descriptor. The upper 8 bits are now correctly masked off when computing residue in jz4780_dma_desc_residue(). Note that reads of the DTCn hardware reg are automatically masked this way. Signed-off-by: Daniel Silsby <[email protected]> Signed-off-by: Paul Cercueil <[email protected]> Tested-by: Mathieu Malaterre <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
This commit is contained in:
parent
17a8e30e9d
commit
5a6187d70f
1 changed files with 2 additions and 1 deletions
|
|
@ -616,7 +616,8 @@ static size_t jz4780_dma_desc_residue(struct jz4780_dma_chan *jzchan,
|
|||
residue = 0;
|
||||
|
||||
for (i = next_sg; i < desc->count; i++)
|
||||
residue += desc->desc[i].dtc << jzchan->transfer_shift;
|
||||
residue += (desc->desc[i].dtc & GENMASK(23, 0)) <<
|
||||
jzchan->transfer_shift;
|
||||
|
||||
if (next_sg != 0) {
|
||||
count = jz4780_dma_chn_readl(jzdma, jzchan->id,
|
||||
|
|
|
|||
Loading…
Reference in a new issue