aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/dmaengine.h
diff options
context:
space:
mode:
authorVinod Koul <vinod.koul@linux.intel.com>2011-11-17 04:24:38 -0500
committerVinod Koul <vinod.koul@linux.intel.com>2011-11-17 04:24:57 -0500
commite0d23ef29ed637dc6bd739f590985746d9ad9caa (patch)
treec5b5856dc88582697997bb10ccacad6fc2535465 /include/linux/dmaengine.h
parentca7fe2db892dcf91b2c72ee352eda4ff867903a7 (diff)
parent55ba4e5ed4ac57b60fe56acfd324f6a87123cc34 (diff)
Merge branch 'dma_slave_direction' into next_test_dirn
resolved conflicts: drivers/media/video/mx3_camera.c
Diffstat (limited to 'include/linux/dmaengine.h')
-rw-r--r--include/linux/dmaengine.h22
1 files changed, 17 insertions, 5 deletions
diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h
index 75f53f874b24..a865b3a354cd 100644
--- a/include/linux/dmaengine.h
+++ b/include/linux/dmaengine.h
@@ -23,7 +23,6 @@
23 23
24#include <linux/device.h> 24#include <linux/device.h>
25#include <linux/uio.h> 25#include <linux/uio.h>
26#include <linux/dma-direction.h>
27#include <linux/scatterlist.h> 26#include <linux/scatterlist.h>
28#include <linux/bitmap.h> 27#include <linux/bitmap.h>
29#include <asm/page.h> 28#include <asm/page.h>
@@ -77,6 +76,19 @@ enum dma_transaction_type {
77/* last transaction type for creation of the capabilities mask */ 76/* last transaction type for creation of the capabilities mask */
78#define DMA_TX_TYPE_END (DMA_CYCLIC + 1) 77#define DMA_TX_TYPE_END (DMA_CYCLIC + 1)
79 78
79/**
80 * enum dma_transfer_direction - dma transfer mode and direction indicator
81 * @DMA_MEM_TO_MEM: Async/Memcpy mode
82 * @DMA_MEM_TO_DEV: Slave mode & From Memory to Device
83 * @DMA_DEV_TO_MEM: Slave mode & From Device to Memory
84 * @DMA_DEV_TO_DEV: Slave mode & From Device to Device
85 */
86enum dma_transfer_direction {
87 DMA_MEM_TO_MEM,
88 DMA_MEM_TO_DEV,
89 DMA_DEV_TO_MEM,
90 DMA_DEV_TO_DEV,
91};
80 92
81/** 93/**
82 * enum dma_ctrl_flags - DMA flags to augment operation preparation, 94 * enum dma_ctrl_flags - DMA flags to augment operation preparation,
@@ -269,7 +281,7 @@ enum dma_slave_buswidth {
269 * struct, if applicable. 281 * struct, if applicable.
270 */ 282 */
271struct dma_slave_config { 283struct dma_slave_config {
272 enum dma_data_direction direction; 284 enum dma_transfer_direction direction;
273 dma_addr_t src_addr; 285 dma_addr_t src_addr;
274 dma_addr_t dst_addr; 286 dma_addr_t dst_addr;
275 enum dma_slave_buswidth src_addr_width; 287 enum dma_slave_buswidth src_addr_width;
@@ -492,11 +504,11 @@ struct dma_device {
492 504
493 struct dma_async_tx_descriptor *(*device_prep_slave_sg)( 505 struct dma_async_tx_descriptor *(*device_prep_slave_sg)(
494 struct dma_chan *chan, struct scatterlist *sgl, 506 struct dma_chan *chan, struct scatterlist *sgl,
495 unsigned int sg_len, enum dma_data_direction direction, 507 unsigned int sg_len, enum dma_transfer_direction direction,
496 unsigned long flags); 508 unsigned long flags);
497 struct dma_async_tx_descriptor *(*device_prep_dma_cyclic)( 509 struct dma_async_tx_descriptor *(*device_prep_dma_cyclic)(
498 struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len, 510 struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len,
499 size_t period_len, enum dma_data_direction direction); 511 size_t period_len, enum dma_transfer_direction direction);
500 int (*device_control)(struct dma_chan *chan, enum dma_ctrl_cmd cmd, 512 int (*device_control)(struct dma_chan *chan, enum dma_ctrl_cmd cmd,
501 unsigned long arg); 513 unsigned long arg);
502 514
@@ -522,7 +534,7 @@ static inline int dmaengine_slave_config(struct dma_chan *chan,
522 534
523static inline struct dma_async_tx_descriptor *dmaengine_prep_slave_single( 535static inline struct dma_async_tx_descriptor *dmaengine_prep_slave_single(
524 struct dma_chan *chan, void *buf, size_t len, 536 struct dma_chan *chan, void *buf, size_t len,
525 enum dma_data_direction dir, unsigned long flags) 537 enum dma_transfer_direction dir, unsigned long flags)
526{ 538{
527 struct scatterlist sg; 539 struct scatterlist sg;
528 sg_init_one(&sg, buf, len); 540 sg_init_one(&sg, buf, len);