diff options
| author | Vinod Koul <vinod.koul@linux.intel.com> | 2011-10-13 05:45:27 -0400 |
|---|---|---|
| committer | Vinod Koul <vinod.koul@linux.intel.com> | 2011-10-27 11:23:06 -0400 |
| commit | 49920bc66984a512f4bcc7735a61642cd0e4d6f2 (patch) | |
| tree | d695d94f6c07a2d55fa5eb18cbad89fdbd572b92 /include/linux | |
| parent | 4598fc2c94b68740e0269db03c98a1e7ad5af773 (diff) | |
dmaengine: add new enum dma_transfer_direction
This new enum removes usage of dma_data_direction for dma direction. The new
enum cleans tells the DMA direction and mode
This further paves way for merging the dmaengine _prep operations and also for
interleaved dma
Suggested-by: Jassi Brar <jaswinder.singh@linaro.org>
Reviewed-by: Barry Song <Baohua.Song@csr.com>
Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/dmaengine.h | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index ace51af4369f..d946ef7f5e67 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 | 27 | ||
| 29 | /** | 28 | /** |
| @@ -75,6 +74,19 @@ enum dma_transaction_type { | |||
| 75 | /* last transaction type for creation of the capabilities mask */ | 74 | /* last transaction type for creation of the capabilities mask */ |
| 76 | #define DMA_TX_TYPE_END (DMA_CYCLIC + 1) | 75 | #define DMA_TX_TYPE_END (DMA_CYCLIC + 1) |
| 77 | 76 | ||
| 77 | /** | ||
| 78 | * enum dma_transfer_direction - dma transfer mode and direction indicator | ||
| 79 | * @DMA_MEM_TO_MEM: Async/Memcpy mode | ||
| 80 | * @DMA_MEM_TO_DEV: Slave mode & From Memory to Device | ||
| 81 | * @DMA_DEV_TO_MEM: Slave mode & From Device to Memory | ||
| 82 | * @DMA_DEV_TO_DEV: Slave mode & From Device to Device | ||
| 83 | */ | ||
| 84 | enum dma_transfer_direction { | ||
| 85 | DMA_MEM_TO_MEM, | ||
| 86 | DMA_MEM_TO_DEV, | ||
| 87 | DMA_DEV_TO_MEM, | ||
| 88 | DMA_DEV_TO_DEV, | ||
| 89 | }; | ||
| 78 | 90 | ||
| 79 | /** | 91 | /** |
| 80 | * enum dma_ctrl_flags - DMA flags to augment operation preparation, | 92 | * enum dma_ctrl_flags - DMA flags to augment operation preparation, |
| @@ -267,7 +279,7 @@ enum dma_slave_buswidth { | |||
| 267 | * struct, if applicable. | 279 | * struct, if applicable. |
| 268 | */ | 280 | */ |
| 269 | struct dma_slave_config { | 281 | struct dma_slave_config { |
| 270 | enum dma_data_direction direction; | 282 | enum dma_transfer_direction direction; |
| 271 | dma_addr_t src_addr; | 283 | dma_addr_t src_addr; |
| 272 | dma_addr_t dst_addr; | 284 | dma_addr_t dst_addr; |
| 273 | enum dma_slave_buswidth src_addr_width; | 285 | enum dma_slave_buswidth src_addr_width; |
| @@ -490,11 +502,11 @@ struct dma_device { | |||
| 490 | 502 | ||
| 491 | struct dma_async_tx_descriptor *(*device_prep_slave_sg)( | 503 | struct dma_async_tx_descriptor *(*device_prep_slave_sg)( |
| 492 | struct dma_chan *chan, struct scatterlist *sgl, | 504 | struct dma_chan *chan, struct scatterlist *sgl, |
| 493 | unsigned int sg_len, enum dma_data_direction direction, | 505 | unsigned int sg_len, enum dma_transfer_direction direction, |
| 494 | unsigned long flags); | 506 | unsigned long flags); |
| 495 | struct dma_async_tx_descriptor *(*device_prep_dma_cyclic)( | 507 | struct dma_async_tx_descriptor *(*device_prep_dma_cyclic)( |
| 496 | struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len, | 508 | struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len, |
| 497 | size_t period_len, enum dma_data_direction direction); | 509 | size_t period_len, enum dma_transfer_direction direction); |
| 498 | int (*device_control)(struct dma_chan *chan, enum dma_ctrl_cmd cmd, | 510 | int (*device_control)(struct dma_chan *chan, enum dma_ctrl_cmd cmd, |
| 499 | unsigned long arg); | 511 | unsigned long arg); |
| 500 | 512 | ||
| @@ -520,7 +532,7 @@ static inline int dmaengine_slave_config(struct dma_chan *chan, | |||
| 520 | 532 | ||
| 521 | static inline struct dma_async_tx_descriptor *dmaengine_prep_slave_single( | 533 | static inline struct dma_async_tx_descriptor *dmaengine_prep_slave_single( |
| 522 | struct dma_chan *chan, void *buf, size_t len, | 534 | struct dma_chan *chan, void *buf, size_t len, |
| 523 | enum dma_data_direction dir, unsigned long flags) | 535 | enum dma_transfer_direction dir, unsigned long flags) |
| 524 | { | 536 | { |
| 525 | struct scatterlist sg; | 537 | struct scatterlist sg; |
| 526 | sg_init_one(&sg, buf, len); | 538 | sg_init_one(&sg, buf, len); |
