|
@@ -182,11 +182,13 @@ static void edma_execute(struct edma_chan *echan)
|
|
echan->ecc->dummy_slot);
|
|
echan->ecc->dummy_slot);
|
|
}
|
|
}
|
|
|
|
|
|
- edma_resume(echan->ch_num);
|
|
|
|
-
|
|
|
|
if (edesc->processed <= MAX_NR_SG) {
|
|
if (edesc->processed <= MAX_NR_SG) {
|
|
dev_dbg(dev, "first transfer starting %d\n", echan->ch_num);
|
|
dev_dbg(dev, "first transfer starting %d\n", echan->ch_num);
|
|
edma_start(echan->ch_num);
|
|
edma_start(echan->ch_num);
|
|
|
|
+ } else {
|
|
|
|
+ dev_dbg(dev, "chan: %d: completed %d elements, resuming\n",
|
|
|
|
+ echan->ch_num, edesc->processed);
|
|
|
|
+ edma_resume(echan->ch_num);
|
|
}
|
|
}
|
|
|
|
|
|
/*
|
|
/*
|