diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-10-18 21:11:04 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-10-18 21:11:04 -0400 |
commit | 52d589a01d4545ce1dc5c3892bb8c7b55edfe714 (patch) | |
tree | 864858dae5d01aae411497e926679cf92392b4f6 /include/linux/dmaengine.h | |
parent | 0a582821d4f8edf41d9b56ae057ee2002fc275f0 (diff) | |
parent | 6b997bab20448cfe85456e4789d5d9222ab6b830 (diff) |
Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma
Pull slave-dmaengine updates from Vinod Koul:
"For dmaengine contributions we have:
- designware cleanup by Andy
- my series moving device_control users to dmanegine_xxx APIs for
later removal of device_control API
- minor fixes spread over drivers mainly mv_xor, pl330, mmp, imx-sdma
etc"
* 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma: (60 commits)
serial: atmel: add missing dmaengine header
dmaengine: remove FSLDMA_EXTERNAL_START
dmaengine: freescale: remove FSLDMA_EXTERNAL_START control method
carma-fpga: move to fsl_dma_external_start()
carma-fpga: use dmaengine_xxx() API
dmaengine: freescale: add and export fsl_dma_external_start()
dmaengine: add dmaengine_prep_dma_sg() helper
video: mx3fb: use dmaengine_terminate_all() API
serial: sh-sci: use dmaengine_terminate_all() API
net: ks8842: use dmaengine_terminate_all() API
mtd: sh_flctl: use dmaengine_terminate_all() API
mtd: fsmc_nand: use dmaengine_terminate_all() API
V4L2: mx3_camer: use dmaengine_pause() API
dmaengine: coh901318: use dmaengine_terminate_all() API
pata_arasan_cf: use dmaengine_terminate_all() API
dmaengine: edma: check for echan->edesc => NULL in edma_dma_pause()
dmaengine: dw: export probe()/remove() and Co to users
dmaengine: dw: enable and disable controller when needed
dmaengine: dw: always export dw_dma_{en,dis}able
dmaengine: dw: introduce dw_dma_on() helper
...
Diffstat (limited to 'include/linux/dmaengine.h')
-rw-r--r-- | include/linux/dmaengine.h | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index 212c5b9ac106..653a1fd07ae8 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h | |||
@@ -199,15 +199,12 @@ enum dma_ctrl_flags { | |||
199 | * configuration data in statically from the platform). An additional | 199 | * configuration data in statically from the platform). An additional |
200 | * argument of struct dma_slave_config must be passed in with this | 200 | * argument of struct dma_slave_config must be passed in with this |
201 | * command. | 201 | * command. |
202 | * @FSLDMA_EXTERNAL_START: this command will put the Freescale DMA controller | ||
203 | * into external start mode. | ||
204 | */ | 202 | */ |
205 | enum dma_ctrl_cmd { | 203 | enum dma_ctrl_cmd { |
206 | DMA_TERMINATE_ALL, | 204 | DMA_TERMINATE_ALL, |
207 | DMA_PAUSE, | 205 | DMA_PAUSE, |
208 | DMA_RESUME, | 206 | DMA_RESUME, |
209 | DMA_SLAVE_CONFIG, | 207 | DMA_SLAVE_CONFIG, |
210 | FSLDMA_EXTERNAL_START, | ||
211 | }; | 208 | }; |
212 | 209 | ||
213 | /** | 210 | /** |
@@ -307,7 +304,9 @@ enum dma_slave_buswidth { | |||
307 | * struct dma_slave_config - dma slave channel runtime config | 304 | * struct dma_slave_config - dma slave channel runtime config |
308 | * @direction: whether the data shall go in or out on this slave | 305 | * @direction: whether the data shall go in or out on this slave |
309 | * channel, right now. DMA_MEM_TO_DEV and DMA_DEV_TO_MEM are | 306 | * channel, right now. DMA_MEM_TO_DEV and DMA_DEV_TO_MEM are |
310 | * legal values. | 307 | * legal values. DEPRECATED, drivers should use the direction argument |
308 | * to the device_prep_slave_sg and device_prep_dma_cyclic functions or | ||
309 | * the dir field in the dma_interleaved_template structure. | ||
311 | * @src_addr: this is the physical address where DMA slave data | 310 | * @src_addr: this is the physical address where DMA slave data |
312 | * should be read (RX), if the source is memory this argument is | 311 | * should be read (RX), if the source is memory this argument is |
313 | * ignored. | 312 | * ignored. |
@@ -755,6 +754,16 @@ static inline struct dma_async_tx_descriptor *dmaengine_prep_interleaved_dma( | |||
755 | return chan->device->device_prep_interleaved_dma(chan, xt, flags); | 754 | return chan->device->device_prep_interleaved_dma(chan, xt, flags); |
756 | } | 755 | } |
757 | 756 | ||
757 | static inline struct dma_async_tx_descriptor *dmaengine_prep_dma_sg( | ||
758 | struct dma_chan *chan, | ||
759 | struct scatterlist *dst_sg, unsigned int dst_nents, | ||
760 | struct scatterlist *src_sg, unsigned int src_nents, | ||
761 | unsigned long flags) | ||
762 | { | ||
763 | return chan->device->device_prep_dma_sg(chan, dst_sg, dst_nents, | ||
764 | src_sg, src_nents, flags); | ||
765 | } | ||
766 | |||
758 | static inline int dma_get_slave_caps(struct dma_chan *chan, struct dma_slave_caps *caps) | 767 | static inline int dma_get_slave_caps(struct dma_chan *chan, struct dma_slave_caps *caps) |
759 | { | 768 | { |
760 | if (!chan || !caps) | 769 | if (!chan || !caps) |