aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorIra Snyder <iws@ovro.caltech.edu>2010-09-30 11:46:44 +0000
committerDan Williams <dan.j.williams@intel.com>2010-10-07 14:41:40 -0700
commita86ee03ce6f279ebe581a7a8c0c4393eaeb789ee (patch)
treee662a6492370232e008d405e4ed7bfa4be0aea2e /include/linux
parentcc60f8878eab892c03d06b10f389232b9b66bd83 (diff)
downloadkernel_samsung_tuna-a86ee03ce6f279ebe581a7a8c0c4393eaeb789ee.zip
kernel_samsung_tuna-a86ee03ce6f279ebe581a7a8c0c4393eaeb789ee.tar.gz
kernel_samsung_tuna-a86ee03ce6f279ebe581a7a8c0c4393eaeb789ee.tar.bz2
dma: add support for scatterlist to scatterlist copy
This adds support for scatterlist to scatterlist DMA transfers. A similar interface is exposed by the fsldma driver (through the DMA_SLAVE API) and by the ste_dma40 driver (through an exported function). This patch paves the way for making this type of copy operation a part of the generic DMAEngine API. Futher patches will add support in individual drivers. Signed-off-by: Ira W. Snyder <iws@ovro.caltech.edu> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/dmaengine.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h
index e210649..2c9ee98 100644
--- a/include/linux/dmaengine.h
+++ b/include/linux/dmaengine.h
@@ -64,6 +64,7 @@ enum dma_transaction_type {
DMA_PQ_VAL,
DMA_MEMSET,
DMA_INTERRUPT,
+ DMA_SG,
DMA_PRIVATE,
DMA_ASYNC_TX,
DMA_SLAVE,
@@ -473,6 +474,11 @@ struct dma_device {
unsigned long flags);
struct dma_async_tx_descriptor *(*device_prep_dma_interrupt)(
struct dma_chan *chan, unsigned long flags);
+ struct dma_async_tx_descriptor *(*device_prep_dma_sg)(
+ struct dma_chan *chan,
+ struct scatterlist *dst_sg, unsigned int dst_nents,
+ struct scatterlist *src_sg, unsigned int src_nents,
+ unsigned long flags);
struct dma_async_tx_descriptor *(*device_prep_slave_sg)(
struct dma_chan *chan, struct scatterlist *sgl,