From 2304793b38c44d79fb79abda388ee08f84c0a8f9 Mon Sep 17 00:00:00 2001 From: Sascha Hauer Date: Thu, 30 Sep 2010 13:56:33 +0000 Subject: [PATCH] --- yaml --- r: 218799 b: refs/heads/master c: 6e3ecaf0ad49de0bed829d409a164e7107c02993 h: refs/heads/master i: 218797: 5225988ca5e235a686caea9deed549c2b569786b 218795: 7143d2ece1dcb017542ceb40d975267e7a42b256 218791: bde6352d83b5aa4860653ef56ecf060c54376ac6 218783: bfc29b9f076d46831a9cb018c33ab16206f8eb3a v: v3 --- [refs] | 2 +- trunk/include/linux/dmaengine.h | 34 +++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 366417a89fec..0b35de5df1ee 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 782bc950d84e404422ba21008fd51ee894c8d231 +refs/heads/master: 6e3ecaf0ad49de0bed829d409a164e7107c02993 diff --git a/trunk/include/linux/dmaengine.h b/trunk/include/linux/dmaengine.h index 32cd84b47478..2218fdcbe8a9 100644 --- a/trunk/include/linux/dmaengine.h +++ b/trunk/include/linux/dmaengine.h @@ -494,6 +494,40 @@ struct dma_device { void (*device_issue_pending)(struct dma_chan *chan); }; +static inline int dmaengine_device_control(struct dma_chan *chan, + enum dma_ctrl_cmd cmd, + unsigned long arg) +{ + return chan->device->device_control(chan, cmd, arg); +} + +static inline int dmaengine_slave_config(struct dma_chan *chan, + struct dma_slave_config *config) +{ + return dmaengine_device_control(chan, DMA_SLAVE_CONFIG, + (unsigned long)config); +} + +static inline int dmaengine_terminate_all(struct dma_chan *chan) +{ + return dmaengine_device_control(chan, DMA_TERMINATE_ALL, 0); +} + +static inline int dmaengine_pause(struct dma_chan *chan) +{ + return dmaengine_device_control(chan, DMA_PAUSE, 0); +} + +static inline int dmaengine_resume(struct dma_chan *chan) +{ + return dmaengine_device_control(chan, DMA_RESUME, 0); +} + +static inline int dmaengine_submit(struct dma_async_tx_descriptor *desc) +{ + return desc->tx_submit(desc); +} + static inline bool dmaengine_check_align(u8 align, size_t off1, size_t off2, size_t len) { size_t mask;