|
@@ -616,7 +616,8 @@ static size_t jz4780_dma_desc_residue(struct jz4780_dma_chan *jzchan,
|
|
residue = 0;
|
|
residue = 0;
|
|
|
|
|
|
for (i = next_sg; i < desc->count; i++)
|
|
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) {
|
|
if (next_sg != 0) {
|
|
count = jz4780_dma_chn_readl(jzdma, jzchan->id,
|
|
count = jz4780_dma_chn_readl(jzdma, jzchan->id,
|