diff options
-rw-r--r-- | drivers/dma/dmaengine.c | 2 | ||||
-rw-r--r-- | include/linux/dmaengine.h | 6 |
2 files changed, 8 insertions, 0 deletions
diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c index 9d31d5eb95c1..db403b8ccabd 100644 --- a/drivers/dma/dmaengine.c +++ b/drivers/dma/dmaengine.c | |||
@@ -690,6 +690,8 @@ int dma_async_device_register(struct dma_device *device) | |||
690 | !device->device_prep_dma_memset); | 690 | !device->device_prep_dma_memset); |
691 | BUG_ON(dma_has_cap(DMA_INTERRUPT, device->cap_mask) && | 691 | BUG_ON(dma_has_cap(DMA_INTERRUPT, device->cap_mask) && |
692 | !device->device_prep_dma_interrupt); | 692 | !device->device_prep_dma_interrupt); |
693 | BUG_ON(dma_has_cap(DMA_SG, device->cap_mask) && | ||
694 | !device->device_prep_dma_sg); | ||
693 | BUG_ON(dma_has_cap(DMA_SLAVE, device->cap_mask) && | 695 | BUG_ON(dma_has_cap(DMA_SLAVE, device->cap_mask) && |
694 | !device->device_prep_slave_sg); | 696 | !device->device_prep_slave_sg); |
695 | BUG_ON(dma_has_cap(DMA_SLAVE, device->cap_mask) && | 697 | BUG_ON(dma_has_cap(DMA_SLAVE, device->cap_mask) && |
diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index e2106495cc11..2c9ee98f6c77 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h | |||
@@ -64,6 +64,7 @@ enum dma_transaction_type { | |||
64 | DMA_PQ_VAL, | 64 | DMA_PQ_VAL, |
65 | DMA_MEMSET, | 65 | DMA_MEMSET, |
66 | DMA_INTERRUPT, | 66 | DMA_INTERRUPT, |
67 | DMA_SG, | ||
67 | DMA_PRIVATE, | 68 | DMA_PRIVATE, |
68 | DMA_ASYNC_TX, | 69 | DMA_ASYNC_TX, |
69 | DMA_SLAVE, | 70 | DMA_SLAVE, |
@@ -473,6 +474,11 @@ struct dma_device { | |||
473 | unsigned long flags); | 474 | unsigned long flags); |
474 | struct dma_async_tx_descriptor *(*device_prep_dma_interrupt)( | 475 | struct dma_async_tx_descriptor *(*device_prep_dma_interrupt)( |
475 | struct dma_chan *chan, unsigned long flags); | 476 | struct dma_chan *chan, unsigned long flags); |
477 | struct dma_async_tx_descriptor *(*device_prep_dma_sg)( | ||
478 | struct dma_chan *chan, | ||
479 | struct scatterlist *dst_sg, unsigned int dst_nents, | ||
480 | struct scatterlist *src_sg, unsigned int src_nents, | ||
481 | unsigned long flags); | ||
476 | 482 | ||
477 | struct dma_async_tx_descriptor *(*device_prep_slave_sg)( | 483 | struct dma_async_tx_descriptor *(*device_prep_slave_sg)( |
478 | struct dma_chan *chan, struct scatterlist *sgl, | 484 | struct dma_chan *chan, struct scatterlist *sgl, |