summaryrefslogtreecommitdiffstats
path: root/drivers/dma/Makefile
diff options
context:
space:
mode:
authorZhangfei Gao <zhangfei.gao@marvell.com>2012-09-03 05:03:45 +0200
committerVinod Koul <vinod.koul@linux.intel.com>2012-09-14 04:44:07 +0200
commitc8acd6aa6bed3c0fd7898202f4ebc534db9085f2 (patch)
treeb7d7b7b763717844832bf03678d71bf948617778 /drivers/dma/Makefile
parentspi: davici - make davinci select edma (diff)
downloadlinux-c8acd6aa6bed3c0fd7898202f4ebc534db9085f2.tar.xz
linux-c8acd6aa6bed3c0fd7898202f4ebc534db9085f2.zip
dmaengine: mmp-pdma support
1. virtual channel vs. physical channel Virtual channel is managed by dmaengine Physical channel handling resource, such as irq Physical channel is alloced dynamically as descending priority, freed immediately when irq done. The availble highest priority physically channel will alwayes be alloced Issue pending list -> alloc highest dma physically channel available -> dma done -> free physically channel 2. list: running list & pending list submit: desc list -> pending list issue_pending_list: if (IDLE) pending list -> running list; free pending list (RUN) irq: free running list (IDLE) check pendlist -> pending list -> running list; free pending list (RUN) 3. irq: Each list generate one irq, calling callback One list may contain several desc chain, in such case, make sure only the last desc list generate irq. 4. async Submit will add desc chain to pending list, which can be multi-called If multi desc chain is submitted, only the last desc would generate irq -> call back If IDLE, issue_pending_list start pending_list, transforming pendlist to running list If RUN, irq will start pending list 5. test 5.1 pxa3xx_nand on pxa910 5.2 insmod dmatest.ko (threads_per_chan=y) By default drivers/dma/dmatest.c test every channel and test memcpy with 1 threads per channel Signed-off-by: Zhangfei Gao <zhangfei.gao@marvell.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
Diffstat (limited to 'drivers/dma/Makefile')
-rw-r--r--drivers/dma/Makefile1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/dma/Makefile b/drivers/dma/Makefile
index f5cf31063fb7..7428feaa8705 100644
--- a/drivers/dma/Makefile
+++ b/drivers/dma/Makefile
@@ -33,3 +33,4 @@ obj-$(CONFIG_EP93XX_DMA) += ep93xx_dma.o
obj-$(CONFIG_DMA_SA11X0) += sa11x0-dma.o
obj-$(CONFIG_MMP_TDMA) += mmp_tdma.o
obj-$(CONFIG_DMA_OMAP) += omap-dma.o
+obj-$(CONFIG_MMP_PDMA) += mmp_pdma.o