aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/dmaengine.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-09-07 17:03:05 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2017-09-07 17:03:05 -0400
commitcd7b34fe1c2d93c54b368c295de88612c0b7120b (patch)
tree63e7726e2b437c79a53d1b3528d4dc685d3f84e3 /include/linux/dmaengine.h
parent75c727155ce1239c1417ba32a48c796de0d762d4 (diff)
parent41bd0314fa3a458bee7ad768d079e681316332e7 (diff)
Merge tag 'dmaengine-4.14-rc1' of git://git.infradead.org/users/vkoul/slave-dma
Pull dmaengine updates from Vinod Koul: "This one features the usual updates to the drivers and one good part of removing DA_SG from core as it has no users. Summary: - Remove DMA_SG support as we have no users for this feature - New driver for Altera / Intel mSGDMA IP core - Support for memset in dmatest and qcom_hidma driver - Update for non cyclic mode in k3dma, bunch of update in bam_dma, bcm sba-raid - Constify device ids across drivers" * tag 'dmaengine-4.14-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (52 commits) dmaengine: sun6i: support V3s SoC variant dmaengine: sun6i: make gate bit in sun8i's DMA engines a common quirk dmaengine: rcar-dmac: document R8A77970 bindings dmaengine: xilinx_dma: Fix error code format specifier dmaengine: altera: Use macros instead of structs to describe the registers dmaengine: ti-dma-crossbar: Fix dra7 reserve function dmaengine: pl330: constify amba_id dmaengine: pl08x: constify amba_id dmaengine: bcm-sba-raid: Remove redundant SBA_REQUEST_STATE_COMPLETED dmaengine: bcm-sba-raid: Explicitly ACK mailbox message after sending dmaengine: bcm-sba-raid: Add debugfs support dmaengine: bcm-sba-raid: Remove redundant SBA_REQUEST_STATE_RECEIVED dmaengine: bcm-sba-raid: Re-factor sba_process_deferred_requests() dmaengine: bcm-sba-raid: Pre-ack async tx descriptor dmaengine: bcm-sba-raid: Peek mbox when we have no free requests dmaengine: bcm-sba-raid: Alloc resources before registering DMA device dmaengine: bcm-sba-raid: Improve sba_issue_pending() run duration dmaengine: bcm-sba-raid: Increase number of free sba_request dmaengine: bcm-sba-raid: Allow arbitrary number free sba_request dmaengine: bcm-sba-raid: Remove reqs_free_count from sba_device ...
Diffstat (limited to 'include/linux/dmaengine.h')
-rw-r--r--include/linux/dmaengine.h23
1 files changed, 4 insertions, 19 deletions
diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h
index 533680860865..8319101170fc 100644
--- a/include/linux/dmaengine.h
+++ b/include/linux/dmaengine.h
@@ -68,7 +68,6 @@ enum dma_transaction_type {
68 DMA_MEMSET, 68 DMA_MEMSET,
69 DMA_MEMSET_SG, 69 DMA_MEMSET_SG,
70 DMA_INTERRUPT, 70 DMA_INTERRUPT,
71 DMA_SG,
72 DMA_PRIVATE, 71 DMA_PRIVATE,
73 DMA_ASYNC_TX, 72 DMA_ASYNC_TX,
74 DMA_SLAVE, 73 DMA_SLAVE,
@@ -186,6 +185,9 @@ struct dma_interleaved_template {
186 * on the result of this operation 185 * on the result of this operation
187 * @DMA_CTRL_REUSE: client can reuse the descriptor and submit again till 186 * @DMA_CTRL_REUSE: client can reuse the descriptor and submit again till
188 * cleared or freed 187 * cleared or freed
188 * @DMA_PREP_CMD: tell the driver that the data passed to DMA API is command
189 * data and the descriptor should be in different format from normal
190 * data descriptors.
189 */ 191 */
190enum dma_ctrl_flags { 192enum dma_ctrl_flags {
191 DMA_PREP_INTERRUPT = (1 << 0), 193 DMA_PREP_INTERRUPT = (1 << 0),
@@ -195,6 +197,7 @@ enum dma_ctrl_flags {
195 DMA_PREP_CONTINUE = (1 << 4), 197 DMA_PREP_CONTINUE = (1 << 4),
196 DMA_PREP_FENCE = (1 << 5), 198 DMA_PREP_FENCE = (1 << 5),
197 DMA_CTRL_REUSE = (1 << 6), 199 DMA_CTRL_REUSE = (1 << 6),
200 DMA_PREP_CMD = (1 << 7),
198}; 201};
199 202
200/** 203/**
@@ -771,11 +774,6 @@ struct dma_device {
771 unsigned int nents, int value, unsigned long flags); 774 unsigned int nents, int value, unsigned long flags);
772 struct dma_async_tx_descriptor *(*device_prep_dma_interrupt)( 775 struct dma_async_tx_descriptor *(*device_prep_dma_interrupt)(
773 struct dma_chan *chan, unsigned long flags); 776 struct dma_chan *chan, unsigned long flags);
774 struct dma_async_tx_descriptor *(*device_prep_dma_sg)(
775 struct dma_chan *chan,
776 struct scatterlist *dst_sg, unsigned int dst_nents,
777 struct scatterlist *src_sg, unsigned int src_nents,
778 unsigned long flags);
779 777
780 struct dma_async_tx_descriptor *(*device_prep_slave_sg)( 778 struct dma_async_tx_descriptor *(*device_prep_slave_sg)(
781 struct dma_chan *chan, struct scatterlist *sgl, 779 struct dma_chan *chan, struct scatterlist *sgl,
@@ -905,19 +903,6 @@ static inline struct dma_async_tx_descriptor *dmaengine_prep_dma_memcpy(
905 len, flags); 903 len, flags);
906} 904}
907 905
908static inline struct dma_async_tx_descriptor *dmaengine_prep_dma_sg(
909 struct dma_chan *chan,
910 struct scatterlist *dst_sg, unsigned int dst_nents,
911 struct scatterlist *src_sg, unsigned int src_nents,
912 unsigned long flags)
913{
914 if (!chan || !chan->device || !chan->device->device_prep_dma_sg)
915 return NULL;
916
917 return chan->device->device_prep_dma_sg(chan, dst_sg, dst_nents,
918 src_sg, src_nents, flags);
919}
920
921/** 906/**
922 * dmaengine_terminate_all() - Terminate all active DMA transfers 907 * dmaengine_terminate_all() - Terminate all active DMA transfers
923 * @chan: The channel for which to terminate the transfers 908 * @chan: The channel for which to terminate the transfers