summaryrefslogtreecommitdiffstats
path: root/drivers/dma/edma.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-04-20 10:35:31 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2014-04-20 10:35:31 -0700
commit372feacb36211faf18326cfddea85d69b9afe2e5 (patch)
treeaf9758c01d5c05c073ec57e84777a9985862dbf3 /drivers/dma/edma.c
parent5269519f9f05888bf52c4b71ed84d37c03c8aadb (diff)
parent8edc51c197b8f409bef7b21755254e6f3ce7ed23 (diff)
downloadop-kernel-dev-372feacb36211faf18326cfddea85d69b9afe2e5.zip
op-kernel-dev-372feacb36211faf18326cfddea85d69b9afe2e5.tar.gz
Merge branch 'fixes' of git://git.infradead.org/users/vkoul/slave-dma
Pull slave-dmaengine fixes from Vinod Koul: "Back from long weekend here in India and now the time to send fixes for slave dmaengine. - Dan's fix of sirf xlate code - Jean's fix for timberland - edma fixes by Sekhar for SG handling and Yuan for changing init call" * 'fixes' of git://git.infradead.org/users/vkoul/slave-dma: dma: fix eDMA driver as a subsys_initcall dmaengine: sirf: off by one in of_dma_sirfsoc_xlate() platform: Fix timberdale dependencies dma: edma: fix incorrect SG list handling
Diffstat (limited to 'drivers/dma/edma.c')
-rw-r--r--drivers/dma/edma.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/dma/edma.c b/drivers/dma/edma.c
index cd04eb7b..926360c 100644
--- a/drivers/dma/edma.c
+++ b/drivers/dma/edma.c
@@ -182,11 +182,13 @@ static void edma_execute(struct edma_chan *echan)
echan->ecc->dummy_slot);
}
- edma_resume(echan->ch_num);
-
if (edesc->processed <= MAX_NR_SG) {
dev_dbg(dev, "first transfer starting %d\n", 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);
}
/*
OpenPOWER on IntegriCloud