|
@@ -610,22 +610,17 @@ static size_t jz4780_dma_desc_residue(struct jz4780_dma_chan *jzchan,
|
|
|
struct jz4780_dma_desc *desc, unsigned int next_sg)
|
|
|
{
|
|
|
struct jz4780_dma_dev *jzdma = jz4780_dma_chan_parent(jzchan);
|
|
|
- unsigned int residue, count;
|
|
|
+ unsigned int count = 0;
|
|
|
unsigned int i;
|
|
|
|
|
|
- residue = 0;
|
|
|
-
|
|
|
for (i = next_sg; i < desc->count; i++)
|
|
|
- residue += (desc->desc[i].dtc & GENMASK(23, 0)) <<
|
|
|
- jzchan->transfer_shift;
|
|
|
+ count += desc->desc[i].dtc & GENMASK(23, 0);
|
|
|
|
|
|
- if (next_sg != 0) {
|
|
|
- count = jz4780_dma_chn_readl(jzdma, jzchan->id,
|
|
|
+ if (next_sg != 0)
|
|
|
+ count += jz4780_dma_chn_readl(jzdma, jzchan->id,
|
|
|
JZ_DMA_REG_DTC);
|
|
|
- residue += count << jzchan->transfer_shift;
|
|
|
- }
|
|
|
|
|
|
- return residue;
|
|
|
+ return count << jzchan->transfer_shift;
|
|
|
}
|
|
|
|
|
|
static enum dma_status jz4780_dma_tx_status(struct dma_chan *chan,
|