diff options
-rw-r--r-- | drivers/dma/amba-pl08x.c | 2 | ||||
-rw-r--r-- | drivers/dma/at_hdmac.c | 7 | ||||
-rw-r--r-- | drivers/dma/coh901318.c | 2 | ||||
-rw-r--r-- | drivers/dma/dw_dmac.c | 2 | ||||
-rw-r--r-- | drivers/dma/ep93xx_dma.c | 6 | ||||
-rw-r--r-- | drivers/dma/fsldma.c | 4 | ||||
-rw-r--r-- | drivers/dma/imx-dma.c | 5 | ||||
-rw-r--r-- | drivers/dma/imx-sdma.c | 5 | ||||
-rw-r--r-- | drivers/dma/intel_mid_dma.c | 3 | ||||
-rw-r--r-- | drivers/dma/ipu/ipu_idmac.c | 3 | ||||
-rw-r--r-- | drivers/dma/mxs-dma.c | 5 | ||||
-rw-r--r-- | drivers/dma/pch_dma.c | 3 | ||||
-rw-r--r-- | drivers/dma/pl330.c | 5 | ||||
-rw-r--r-- | drivers/dma/shdma.c | 3 | ||||
-rw-r--r-- | drivers/dma/sirf-dma.c | 2 | ||||
-rw-r--r-- | drivers/dma/ste_dma40.c | 5 | ||||
-rw-r--r-- | drivers/dma/timb_dma.c | 3 | ||||
-rw-r--r-- | drivers/dma/txx9dmac.c | 2 | ||||
-rw-r--r-- | include/linux/dmaengine.h | 12 |
19 files changed, 49 insertions, 30 deletions
diff --git a/drivers/dma/amba-pl08x.c b/drivers/dma/amba-pl08x.c index 1b53f2605250..c301a8ec31aa 100644 --- a/drivers/dma/amba-pl08x.c +++ b/drivers/dma/amba-pl08x.c | |||
@@ -1313,7 +1313,7 @@ static struct dma_async_tx_descriptor *pl08x_prep_dma_memcpy( | |||
1313 | static struct dma_async_tx_descriptor *pl08x_prep_slave_sg( | 1313 | static struct dma_async_tx_descriptor *pl08x_prep_slave_sg( |
1314 | struct dma_chan *chan, struct scatterlist *sgl, | 1314 | struct dma_chan *chan, struct scatterlist *sgl, |
1315 | unsigned int sg_len, enum dma_transfer_direction direction, | 1315 | unsigned int sg_len, enum dma_transfer_direction direction, |
1316 | unsigned long flags) | 1316 | unsigned long flags, void *context) |
1317 | { | 1317 | { |
1318 | struct pl08x_dma_chan *plchan = to_pl08x_chan(chan); | 1318 | struct pl08x_dma_chan *plchan = to_pl08x_chan(chan); |
1319 | struct pl08x_driver_data *pl08x = plchan->host; | 1319 | struct pl08x_driver_data *pl08x = plchan->host; |
diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c index 5d225ddc7698..f24b16e455fd 100644 --- a/drivers/dma/at_hdmac.c +++ b/drivers/dma/at_hdmac.c | |||
@@ -639,11 +639,12 @@ err_desc_get: | |||
639 | * @sg_len: number of entries in @scatterlist | 639 | * @sg_len: number of entries in @scatterlist |
640 | * @direction: DMA direction | 640 | * @direction: DMA direction |
641 | * @flags: tx descriptor status flags | 641 | * @flags: tx descriptor status flags |
642 | * @context: transaction context (ignored) | ||
642 | */ | 643 | */ |
643 | static struct dma_async_tx_descriptor * | 644 | static struct dma_async_tx_descriptor * |
644 | atc_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl, | 645 | atc_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl, |
645 | unsigned int sg_len, enum dma_transfer_direction direction, | 646 | unsigned int sg_len, enum dma_transfer_direction direction, |
646 | unsigned long flags) | 647 | unsigned long flags, void *context) |
647 | { | 648 | { |
648 | struct at_dma_chan *atchan = to_at_dma_chan(chan); | 649 | struct at_dma_chan *atchan = to_at_dma_chan(chan); |
649 | struct at_dma_slave *atslave = chan->private; | 650 | struct at_dma_slave *atslave = chan->private; |
@@ -840,10 +841,12 @@ atc_dma_cyclic_fill_desc(struct at_dma_slave *atslave, struct at_desc *desc, | |||
840 | * @buf_len: total number of bytes for the entire buffer | 841 | * @buf_len: total number of bytes for the entire buffer |
841 | * @period_len: number of bytes for each period | 842 | * @period_len: number of bytes for each period |
842 | * @direction: transfer direction, to or from device | 843 | * @direction: transfer direction, to or from device |
844 | * @context: transfer context (ignored) | ||
843 | */ | 845 | */ |
844 | static struct dma_async_tx_descriptor * | 846 | static struct dma_async_tx_descriptor * |
845 | atc_prep_dma_cyclic(struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len, | 847 | atc_prep_dma_cyclic(struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len, |
846 | size_t period_len, enum dma_transfer_direction direction) | 848 | size_t period_len, enum dma_transfer_direction direction, |
849 | void *context) | ||
847 | { | 850 | { |
848 | struct at_dma_chan *atchan = to_at_dma_chan(chan); | 851 | struct at_dma_chan *atchan = to_at_dma_chan(chan); |
849 | struct at_dma_slave *atslave = chan->private; | 852 | struct at_dma_slave *atslave = chan->private; |
diff --git a/drivers/dma/coh901318.c b/drivers/dma/coh901318.c index 187bb9eef4a2..dc89455f5550 100644 --- a/drivers/dma/coh901318.c +++ b/drivers/dma/coh901318.c | |||
@@ -1021,7 +1021,7 @@ coh901318_prep_memcpy(struct dma_chan *chan, dma_addr_t dest, dma_addr_t src, | |||
1021 | static struct dma_async_tx_descriptor * | 1021 | static struct dma_async_tx_descriptor * |
1022 | coh901318_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl, | 1022 | coh901318_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl, |
1023 | unsigned int sg_len, enum dma_transfer_direction direction, | 1023 | unsigned int sg_len, enum dma_transfer_direction direction, |
1024 | unsigned long flags) | 1024 | unsigned long flags, void *context) |
1025 | { | 1025 | { |
1026 | struct coh901318_chan *cohc = to_coh901318_chan(chan); | 1026 | struct coh901318_chan *cohc = to_coh901318_chan(chan); |
1027 | struct coh901318_lli *lli; | 1027 | struct coh901318_lli *lli; |
diff --git a/drivers/dma/dw_dmac.c b/drivers/dma/dw_dmac.c index cb173bbdcfdf..7439079f5eed 100644 --- a/drivers/dma/dw_dmac.c +++ b/drivers/dma/dw_dmac.c | |||
@@ -704,7 +704,7 @@ err_desc_get: | |||
704 | static struct dma_async_tx_descriptor * | 704 | static struct dma_async_tx_descriptor * |
705 | dwc_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl, | 705 | dwc_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl, |
706 | unsigned int sg_len, enum dma_transfer_direction direction, | 706 | unsigned int sg_len, enum dma_transfer_direction direction, |
707 | unsigned long flags) | 707 | unsigned long flags, void *context) |
708 | { | 708 | { |
709 | struct dw_dma_chan *dwc = to_dw_dma_chan(chan); | 709 | struct dw_dma_chan *dwc = to_dw_dma_chan(chan); |
710 | struct dw_dma_slave *dws = chan->private; | 710 | struct dw_dma_slave *dws = chan->private; |
diff --git a/drivers/dma/ep93xx_dma.c b/drivers/dma/ep93xx_dma.c index f25e83bf5678..e6f133b78dc2 100644 --- a/drivers/dma/ep93xx_dma.c +++ b/drivers/dma/ep93xx_dma.c | |||
@@ -975,13 +975,14 @@ fail: | |||
975 | * @sg_len: number of entries in @sgl | 975 | * @sg_len: number of entries in @sgl |
976 | * @dir: direction of tha DMA transfer | 976 | * @dir: direction of tha DMA transfer |
977 | * @flags: flags for the descriptor | 977 | * @flags: flags for the descriptor |
978 | * @context: operation context (ignored) | ||
978 | * | 979 | * |
979 | * Returns a valid DMA descriptor or %NULL in case of failure. | 980 | * Returns a valid DMA descriptor or %NULL in case of failure. |
980 | */ | 981 | */ |
981 | static struct dma_async_tx_descriptor * | 982 | static struct dma_async_tx_descriptor * |
982 | ep93xx_dma_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl, | 983 | ep93xx_dma_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl, |
983 | unsigned int sg_len, enum dma_transfer_direction dir, | 984 | unsigned int sg_len, enum dma_transfer_direction dir, |
984 | unsigned long flags) | 985 | unsigned long flags, void *context) |
985 | { | 986 | { |
986 | struct ep93xx_dma_chan *edmac = to_ep93xx_dma_chan(chan); | 987 | struct ep93xx_dma_chan *edmac = to_ep93xx_dma_chan(chan); |
987 | struct ep93xx_dma_desc *desc, *first; | 988 | struct ep93xx_dma_desc *desc, *first; |
@@ -1048,6 +1049,7 @@ fail: | |||
1048 | * @buf_len: length of the buffer (in bytes) | 1049 | * @buf_len: length of the buffer (in bytes) |
1049 | * @period_len: lenght of a single period | 1050 | * @period_len: lenght of a single period |
1050 | * @dir: direction of the operation | 1051 | * @dir: direction of the operation |
1052 | * @context: operation context (ignored) | ||
1051 | * | 1053 | * |
1052 | * Prepares a descriptor for cyclic DMA operation. This means that once the | 1054 | * Prepares a descriptor for cyclic DMA operation. This means that once the |
1053 | * descriptor is submitted, we will be submitting in a @period_len sized | 1055 | * descriptor is submitted, we will be submitting in a @period_len sized |
@@ -1060,7 +1062,7 @@ fail: | |||
1060 | static struct dma_async_tx_descriptor * | 1062 | static struct dma_async_tx_descriptor * |
1061 | ep93xx_dma_prep_dma_cyclic(struct dma_chan *chan, dma_addr_t dma_addr, | 1063 | ep93xx_dma_prep_dma_cyclic(struct dma_chan *chan, dma_addr_t dma_addr, |
1062 | size_t buf_len, size_t period_len, | 1064 | size_t buf_len, size_t period_len, |
1063 | enum dma_transfer_direction dir) | 1065 | enum dma_transfer_direction dir, void *context) |
1064 | { | 1066 | { |
1065 | struct ep93xx_dma_chan *edmac = to_ep93xx_dma_chan(chan); | 1067 | struct ep93xx_dma_chan *edmac = to_ep93xx_dma_chan(chan); |
1066 | struct ep93xx_dma_desc *desc, *first; | 1068 | struct ep93xx_dma_desc *desc, *first; |
diff --git a/drivers/dma/fsldma.c b/drivers/dma/fsldma.c index 7d7384b34621..8f84761f98ba 100644 --- a/drivers/dma/fsldma.c +++ b/drivers/dma/fsldma.c | |||
@@ -759,6 +759,7 @@ fail: | |||
759 | * @sg_len: number of entries in @scatterlist | 759 | * @sg_len: number of entries in @scatterlist |
760 | * @direction: DMA direction | 760 | * @direction: DMA direction |
761 | * @flags: DMAEngine flags | 761 | * @flags: DMAEngine flags |
762 | * @context: transaction context (ignored) | ||
762 | * | 763 | * |
763 | * Prepare a set of descriptors for a DMA_SLAVE transaction. Following the | 764 | * Prepare a set of descriptors for a DMA_SLAVE transaction. Following the |
764 | * DMA_SLAVE API, this gets the device-specific information from the | 765 | * DMA_SLAVE API, this gets the device-specific information from the |
@@ -766,7 +767,8 @@ fail: | |||
766 | */ | 767 | */ |
767 | static struct dma_async_tx_descriptor *fsl_dma_prep_slave_sg( | 768 | static struct dma_async_tx_descriptor *fsl_dma_prep_slave_sg( |
768 | struct dma_chan *dchan, struct scatterlist *sgl, unsigned int sg_len, | 769 | struct dma_chan *dchan, struct scatterlist *sgl, unsigned int sg_len, |
769 | enum dma_transfer_direction direction, unsigned long flags) | 770 | enum dma_transfer_direction direction, unsigned long flags, |
771 | void *context) | ||
770 | { | 772 | { |
771 | /* | 773 | /* |
772 | * This operation is not supported on the Freescale DMA controller | 774 | * This operation is not supported on the Freescale DMA controller |
diff --git a/drivers/dma/imx-dma.c b/drivers/dma/imx-dma.c index 20c1565a7486..304839a99ae5 100644 --- a/drivers/dma/imx-dma.c +++ b/drivers/dma/imx-dma.c | |||
@@ -354,7 +354,7 @@ static void imxdma_free_chan_resources(struct dma_chan *chan) | |||
354 | static struct dma_async_tx_descriptor *imxdma_prep_slave_sg( | 354 | static struct dma_async_tx_descriptor *imxdma_prep_slave_sg( |
355 | struct dma_chan *chan, struct scatterlist *sgl, | 355 | struct dma_chan *chan, struct scatterlist *sgl, |
356 | unsigned int sg_len, enum dma_transfer_direction direction, | 356 | unsigned int sg_len, enum dma_transfer_direction direction, |
357 | unsigned long flags) | 357 | unsigned long flags, void *context) |
358 | { | 358 | { |
359 | struct imxdma_channel *imxdmac = to_imxdma_chan(chan); | 359 | struct imxdma_channel *imxdmac = to_imxdma_chan(chan); |
360 | struct scatterlist *sg; | 360 | struct scatterlist *sg; |
@@ -405,7 +405,8 @@ static struct dma_async_tx_descriptor *imxdma_prep_slave_sg( | |||
405 | 405 | ||
406 | static struct dma_async_tx_descriptor *imxdma_prep_dma_cyclic( | 406 | static struct dma_async_tx_descriptor *imxdma_prep_dma_cyclic( |
407 | struct dma_chan *chan, dma_addr_t dma_addr, size_t buf_len, | 407 | struct dma_chan *chan, dma_addr_t dma_addr, size_t buf_len, |
408 | size_t period_len, enum dma_transfer_direction direction) | 408 | size_t period_len, enum dma_transfer_direction direction, |
409 | void *context) | ||
409 | { | 410 | { |
410 | struct imxdma_channel *imxdmac = to_imxdma_chan(chan); | 411 | struct imxdma_channel *imxdmac = to_imxdma_chan(chan); |
411 | struct imxdma_engine *imxdma = imxdmac->imxdma; | 412 | struct imxdma_engine *imxdma = imxdmac->imxdma; |
diff --git a/drivers/dma/imx-sdma.c b/drivers/dma/imx-sdma.c index f8259ee49f86..434fb610aa1a 100644 --- a/drivers/dma/imx-sdma.c +++ b/drivers/dma/imx-sdma.c | |||
@@ -903,7 +903,7 @@ static void sdma_free_chan_resources(struct dma_chan *chan) | |||
903 | static struct dma_async_tx_descriptor *sdma_prep_slave_sg( | 903 | static struct dma_async_tx_descriptor *sdma_prep_slave_sg( |
904 | struct dma_chan *chan, struct scatterlist *sgl, | 904 | struct dma_chan *chan, struct scatterlist *sgl, |
905 | unsigned int sg_len, enum dma_transfer_direction direction, | 905 | unsigned int sg_len, enum dma_transfer_direction direction, |
906 | unsigned long flags) | 906 | unsigned long flags, void *context) |
907 | { | 907 | { |
908 | struct sdma_channel *sdmac = to_sdma_chan(chan); | 908 | struct sdma_channel *sdmac = to_sdma_chan(chan); |
909 | struct sdma_engine *sdma = sdmac->sdma; | 909 | struct sdma_engine *sdma = sdmac->sdma; |
@@ -1001,7 +1001,8 @@ err_out: | |||
1001 | 1001 | ||
1002 | static struct dma_async_tx_descriptor *sdma_prep_dma_cyclic( | 1002 | static struct dma_async_tx_descriptor *sdma_prep_dma_cyclic( |
1003 | struct dma_chan *chan, dma_addr_t dma_addr, size_t buf_len, | 1003 | struct dma_chan *chan, dma_addr_t dma_addr, size_t buf_len, |
1004 | size_t period_len, enum dma_transfer_direction direction) | 1004 | size_t period_len, enum dma_transfer_direction direction, |
1005 | void *context) | ||
1005 | { | 1006 | { |
1006 | struct sdma_channel *sdmac = to_sdma_chan(chan); | 1007 | struct sdma_channel *sdmac = to_sdma_chan(chan); |
1007 | struct sdma_engine *sdma = sdmac->sdma; | 1008 | struct sdma_engine *sdma = sdmac->sdma; |
diff --git a/drivers/dma/intel_mid_dma.c b/drivers/dma/intel_mid_dma.c index 2449812f5464..c900ca7aaec4 100644 --- a/drivers/dma/intel_mid_dma.c +++ b/drivers/dma/intel_mid_dma.c | |||
@@ -714,13 +714,14 @@ err_desc_get: | |||
714 | * @sg_len: length of sg txn | 714 | * @sg_len: length of sg txn |
715 | * @direction: DMA transfer dirtn | 715 | * @direction: DMA transfer dirtn |
716 | * @flags: DMA flags | 716 | * @flags: DMA flags |
717 | * @context: transfer context (ignored) | ||
717 | * | 718 | * |
718 | * Prepares LLI based periphral transfer | 719 | * Prepares LLI based periphral transfer |
719 | */ | 720 | */ |
720 | static struct dma_async_tx_descriptor *intel_mid_dma_prep_slave_sg( | 721 | static struct dma_async_tx_descriptor *intel_mid_dma_prep_slave_sg( |
721 | struct dma_chan *chan, struct scatterlist *sgl, | 722 | struct dma_chan *chan, struct scatterlist *sgl, |
722 | unsigned int sg_len, enum dma_transfer_direction direction, | 723 | unsigned int sg_len, enum dma_transfer_direction direction, |
723 | unsigned long flags) | 724 | unsigned long flags, void *context) |
724 | { | 725 | { |
725 | struct intel_mid_dma_chan *midc = NULL; | 726 | struct intel_mid_dma_chan *midc = NULL; |
726 | struct intel_mid_dma_slave *mids = NULL; | 727 | struct intel_mid_dma_slave *mids = NULL; |
diff --git a/drivers/dma/ipu/ipu_idmac.c b/drivers/dma/ipu/ipu_idmac.c index 1880274b0850..62e3f8ec2461 100644 --- a/drivers/dma/ipu/ipu_idmac.c +++ b/drivers/dma/ipu/ipu_idmac.c | |||
@@ -1335,7 +1335,8 @@ static void ipu_gc_tasklet(unsigned long arg) | |||
1335 | /* Allocate and initialise a transfer descriptor. */ | 1335 | /* Allocate and initialise a transfer descriptor. */ |
1336 | static struct dma_async_tx_descriptor *idmac_prep_slave_sg(struct dma_chan *chan, | 1336 | static struct dma_async_tx_descriptor *idmac_prep_slave_sg(struct dma_chan *chan, |
1337 | struct scatterlist *sgl, unsigned int sg_len, | 1337 | struct scatterlist *sgl, unsigned int sg_len, |
1338 | enum dma_transfer_direction direction, unsigned long tx_flags) | 1338 | enum dma_transfer_direction direction, unsigned long tx_flags, |
1339 | void *context) | ||
1339 | { | 1340 | { |
1340 | struct idmac_channel *ichan = to_idmac_chan(chan); | 1341 | struct idmac_channel *ichan = to_idmac_chan(chan); |
1341 | struct idmac_tx_desc *desc = NULL; | 1342 | struct idmac_tx_desc *desc = NULL; |
diff --git a/drivers/dma/mxs-dma.c b/drivers/dma/mxs-dma.c index a2267f9ab568..65334c49b71e 100644 --- a/drivers/dma/mxs-dma.c +++ b/drivers/dma/mxs-dma.c | |||
@@ -340,7 +340,7 @@ static void mxs_dma_free_chan_resources(struct dma_chan *chan) | |||
340 | static struct dma_async_tx_descriptor *mxs_dma_prep_slave_sg( | 340 | static struct dma_async_tx_descriptor *mxs_dma_prep_slave_sg( |
341 | struct dma_chan *chan, struct scatterlist *sgl, | 341 | struct dma_chan *chan, struct scatterlist *sgl, |
342 | unsigned int sg_len, enum dma_transfer_direction direction, | 342 | unsigned int sg_len, enum dma_transfer_direction direction, |
343 | unsigned long append) | 343 | unsigned long append, void *context) |
344 | { | 344 | { |
345 | struct mxs_dma_chan *mxs_chan = to_mxs_dma_chan(chan); | 345 | struct mxs_dma_chan *mxs_chan = to_mxs_dma_chan(chan); |
346 | struct mxs_dma_engine *mxs_dma = mxs_chan->mxs_dma; | 346 | struct mxs_dma_engine *mxs_dma = mxs_chan->mxs_dma; |
@@ -435,7 +435,8 @@ err_out: | |||
435 | 435 | ||
436 | static struct dma_async_tx_descriptor *mxs_dma_prep_dma_cyclic( | 436 | static struct dma_async_tx_descriptor *mxs_dma_prep_dma_cyclic( |
437 | struct dma_chan *chan, dma_addr_t dma_addr, size_t buf_len, | 437 | struct dma_chan *chan, dma_addr_t dma_addr, size_t buf_len, |
438 | size_t period_len, enum dma_transfer_direction direction) | 438 | size_t period_len, enum dma_transfer_direction direction, |
439 | void *context) | ||
439 | { | 440 | { |
440 | struct mxs_dma_chan *mxs_chan = to_mxs_dma_chan(chan); | 441 | struct mxs_dma_chan *mxs_chan = to_mxs_dma_chan(chan); |
441 | struct mxs_dma_engine *mxs_dma = mxs_chan->mxs_dma; | 442 | struct mxs_dma_engine *mxs_dma = mxs_chan->mxs_dma; |
diff --git a/drivers/dma/pch_dma.c b/drivers/dma/pch_dma.c index c93bb0459972..65c0495a6d40 100644 --- a/drivers/dma/pch_dma.c +++ b/drivers/dma/pch_dma.c | |||
@@ -587,7 +587,8 @@ static void pd_issue_pending(struct dma_chan *chan) | |||
587 | 587 | ||
588 | static struct dma_async_tx_descriptor *pd_prep_slave_sg(struct dma_chan *chan, | 588 | static struct dma_async_tx_descriptor *pd_prep_slave_sg(struct dma_chan *chan, |
589 | struct scatterlist *sgl, unsigned int sg_len, | 589 | struct scatterlist *sgl, unsigned int sg_len, |
590 | enum dma_transfer_direction direction, unsigned long flags) | 590 | enum dma_transfer_direction direction, unsigned long flags, |
591 | void *context) | ||
591 | { | 592 | { |
592 | struct pch_dma_chan *pd_chan = to_pd_chan(chan); | 593 | struct pch_dma_chan *pd_chan = to_pd_chan(chan); |
593 | struct pch_dma_slave *pd_slave = chan->private; | 594 | struct pch_dma_slave *pd_slave = chan->private; |
diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c index e863d7fc465a..87d752a77f5e 100644 --- a/drivers/dma/pl330.c +++ b/drivers/dma/pl330.c | |||
@@ -2685,7 +2685,8 @@ static inline int get_burst_len(struct dma_pl330_desc *desc, size_t len) | |||
2685 | 2685 | ||
2686 | static struct dma_async_tx_descriptor *pl330_prep_dma_cyclic( | 2686 | static struct dma_async_tx_descriptor *pl330_prep_dma_cyclic( |
2687 | struct dma_chan *chan, dma_addr_t dma_addr, size_t len, | 2687 | struct dma_chan *chan, dma_addr_t dma_addr, size_t len, |
2688 | size_t period_len, enum dma_transfer_direction direction) | 2688 | size_t period_len, enum dma_transfer_direction direction, |
2689 | void *context) | ||
2689 | { | 2690 | { |
2690 | struct dma_pl330_desc *desc; | 2691 | struct dma_pl330_desc *desc; |
2691 | struct dma_pl330_chan *pch = to_pchan(chan); | 2692 | struct dma_pl330_chan *pch = to_pchan(chan); |
@@ -2775,7 +2776,7 @@ pl330_prep_dma_memcpy(struct dma_chan *chan, dma_addr_t dst, | |||
2775 | static struct dma_async_tx_descriptor * | 2776 | static struct dma_async_tx_descriptor * |
2776 | pl330_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl, | 2777 | pl330_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl, |
2777 | unsigned int sg_len, enum dma_transfer_direction direction, | 2778 | unsigned int sg_len, enum dma_transfer_direction direction, |
2778 | unsigned long flg) | 2779 | unsigned long flg, void *context) |
2779 | { | 2780 | { |
2780 | struct dma_pl330_desc *first, *desc = NULL; | 2781 | struct dma_pl330_desc *first, *desc = NULL; |
2781 | struct dma_pl330_chan *pch = to_pchan(chan); | 2782 | struct dma_pl330_chan *pch = to_pchan(chan); |
diff --git a/drivers/dma/shdma.c b/drivers/dma/shdma.c index 5c4088603dd4..19d7a8d3975d 100644 --- a/drivers/dma/shdma.c +++ b/drivers/dma/shdma.c | |||
@@ -669,7 +669,8 @@ static struct dma_async_tx_descriptor *sh_dmae_prep_memcpy( | |||
669 | 669 | ||
670 | static struct dma_async_tx_descriptor *sh_dmae_prep_slave_sg( | 670 | static struct dma_async_tx_descriptor *sh_dmae_prep_slave_sg( |
671 | struct dma_chan *chan, struct scatterlist *sgl, unsigned int sg_len, | 671 | struct dma_chan *chan, struct scatterlist *sgl, unsigned int sg_len, |
672 | enum dma_transfer_direction direction, unsigned long flags) | 672 | enum dma_transfer_direction direction, unsigned long flags, |
673 | void *context) | ||
673 | { | 674 | { |
674 | struct sh_dmae_slave *param; | 675 | struct sh_dmae_slave *param; |
675 | struct sh_dmae_chan *sh_chan; | 676 | struct sh_dmae_chan *sh_chan; |
diff --git a/drivers/dma/sirf-dma.c b/drivers/dma/sirf-dma.c index 45ba352fb871..434ad31174f2 100644 --- a/drivers/dma/sirf-dma.c +++ b/drivers/dma/sirf-dma.c | |||
@@ -489,7 +489,7 @@ err_dir: | |||
489 | static struct dma_async_tx_descriptor * | 489 | static struct dma_async_tx_descriptor * |
490 | sirfsoc_dma_prep_cyclic(struct dma_chan *chan, dma_addr_t addr, | 490 | sirfsoc_dma_prep_cyclic(struct dma_chan *chan, dma_addr_t addr, |
491 | size_t buf_len, size_t period_len, | 491 | size_t buf_len, size_t period_len, |
492 | enum dma_transfer_direction direction) | 492 | enum dma_transfer_direction direction, void *context) |
493 | { | 493 | { |
494 | struct sirfsoc_dma_chan *schan = dma_chan_to_sirfsoc_dma_chan(chan); | 494 | struct sirfsoc_dma_chan *schan = dma_chan_to_sirfsoc_dma_chan(chan); |
495 | struct sirfsoc_dma_desc *sdesc = NULL; | 495 | struct sirfsoc_dma_desc *sdesc = NULL; |
diff --git a/drivers/dma/ste_dma40.c b/drivers/dma/ste_dma40.c index 1ea6d02d08ab..bdd41d4bfa8d 100644 --- a/drivers/dma/ste_dma40.c +++ b/drivers/dma/ste_dma40.c | |||
@@ -2289,7 +2289,8 @@ static struct dma_async_tx_descriptor *d40_prep_slave_sg(struct dma_chan *chan, | |||
2289 | struct scatterlist *sgl, | 2289 | struct scatterlist *sgl, |
2290 | unsigned int sg_len, | 2290 | unsigned int sg_len, |
2291 | enum dma_transfer_direction direction, | 2291 | enum dma_transfer_direction direction, |
2292 | unsigned long dma_flags) | 2292 | unsigned long dma_flags, |
2293 | void *context) | ||
2293 | { | 2294 | { |
2294 | if (direction != DMA_DEV_TO_MEM && direction != DMA_MEM_TO_DEV) | 2295 | if (direction != DMA_DEV_TO_MEM && direction != DMA_MEM_TO_DEV) |
2295 | return NULL; | 2296 | return NULL; |
@@ -2300,7 +2301,7 @@ static struct dma_async_tx_descriptor *d40_prep_slave_sg(struct dma_chan *chan, | |||
2300 | static struct dma_async_tx_descriptor * | 2301 | static struct dma_async_tx_descriptor * |
2301 | dma40_prep_dma_cyclic(struct dma_chan *chan, dma_addr_t dma_addr, | 2302 | dma40_prep_dma_cyclic(struct dma_chan *chan, dma_addr_t dma_addr, |
2302 | size_t buf_len, size_t period_len, | 2303 | size_t buf_len, size_t period_len, |
2303 | enum dma_transfer_direction direction) | 2304 | enum dma_transfer_direction direction, void *context) |
2304 | { | 2305 | { |
2305 | unsigned int periods = buf_len / period_len; | 2306 | unsigned int periods = buf_len / period_len; |
2306 | struct dma_async_tx_descriptor *txd; | 2307 | struct dma_async_tx_descriptor *txd; |
diff --git a/drivers/dma/timb_dma.c b/drivers/dma/timb_dma.c index d408c2206023..4e0dff59901d 100644 --- a/drivers/dma/timb_dma.c +++ b/drivers/dma/timb_dma.c | |||
@@ -542,7 +542,8 @@ static void td_issue_pending(struct dma_chan *chan) | |||
542 | 542 | ||
543 | static struct dma_async_tx_descriptor *td_prep_slave_sg(struct dma_chan *chan, | 543 | static struct dma_async_tx_descriptor *td_prep_slave_sg(struct dma_chan *chan, |
544 | struct scatterlist *sgl, unsigned int sg_len, | 544 | struct scatterlist *sgl, unsigned int sg_len, |
545 | enum dma_transfer_direction direction, unsigned long flags) | 545 | enum dma_transfer_direction direction, unsigned long flags, |
546 | void *context) | ||
546 | { | 547 | { |
547 | struct timb_dma_chan *td_chan = | 548 | struct timb_dma_chan *td_chan = |
548 | container_of(chan, struct timb_dma_chan, chan); | 549 | container_of(chan, struct timb_dma_chan, chan); |
diff --git a/drivers/dma/txx9dmac.c b/drivers/dma/txx9dmac.c index 40440f946385..913f55c76c99 100644 --- a/drivers/dma/txx9dmac.c +++ b/drivers/dma/txx9dmac.c | |||
@@ -833,7 +833,7 @@ txx9dmac_prep_dma_memcpy(struct dma_chan *chan, dma_addr_t dest, dma_addr_t src, | |||
833 | static struct dma_async_tx_descriptor * | 833 | static struct dma_async_tx_descriptor * |
834 | txx9dmac_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl, | 834 | txx9dmac_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl, |
835 | unsigned int sg_len, enum dma_transfer_direction direction, | 835 | unsigned int sg_len, enum dma_transfer_direction direction, |
836 | unsigned long flags) | 836 | unsigned long flags, void *context) |
837 | { | 837 | { |
838 | struct txx9dmac_chan *dc = to_txx9dmac_chan(chan); | 838 | struct txx9dmac_chan *dc = to_txx9dmac_chan(chan); |
839 | struct txx9dmac_dev *ddev = dc->ddev; | 839 | struct txx9dmac_dev *ddev = dc->ddev; |
diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index 03d68b7e5705..b3b5b38776f0 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h | |||
@@ -582,10 +582,11 @@ struct dma_device { | |||
582 | struct dma_async_tx_descriptor *(*device_prep_slave_sg)( | 582 | struct dma_async_tx_descriptor *(*device_prep_slave_sg)( |
583 | struct dma_chan *chan, struct scatterlist *sgl, | 583 | struct dma_chan *chan, struct scatterlist *sgl, |
584 | unsigned int sg_len, enum dma_transfer_direction direction, | 584 | unsigned int sg_len, enum dma_transfer_direction direction, |
585 | unsigned long flags); | 585 | unsigned long flags, void *context); |
586 | struct dma_async_tx_descriptor *(*device_prep_dma_cyclic)( | 586 | struct dma_async_tx_descriptor *(*device_prep_dma_cyclic)( |
587 | struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len, | 587 | struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len, |
588 | size_t period_len, enum dma_transfer_direction direction); | 588 | size_t period_len, enum dma_transfer_direction direction, |
589 | void *context); | ||
589 | struct dma_async_tx_descriptor *(*device_prep_interleaved_dma)( | 590 | struct dma_async_tx_descriptor *(*device_prep_interleaved_dma)( |
590 | struct dma_chan *chan, struct dma_interleaved_template *xt, | 591 | struct dma_chan *chan, struct dma_interleaved_template *xt, |
591 | unsigned long flags); | 592 | unsigned long flags); |
@@ -619,7 +620,8 @@ static inline struct dma_async_tx_descriptor *dmaengine_prep_slave_single( | |||
619 | struct scatterlist sg; | 620 | struct scatterlist sg; |
620 | sg_init_one(&sg, buf, len); | 621 | sg_init_one(&sg, buf, len); |
621 | 622 | ||
622 | return chan->device->device_prep_slave_sg(chan, &sg, 1, dir, flags); | 623 | return chan->device->device_prep_slave_sg(chan, &sg, 1, |
624 | dir, flags, NULL); | ||
623 | } | 625 | } |
624 | 626 | ||
625 | static inline struct dma_async_tx_descriptor *dmaengine_prep_slave_sg( | 627 | static inline struct dma_async_tx_descriptor *dmaengine_prep_slave_sg( |
@@ -627,7 +629,7 @@ static inline struct dma_async_tx_descriptor *dmaengine_prep_slave_sg( | |||
627 | enum dma_transfer_direction dir, unsigned long flags) | 629 | enum dma_transfer_direction dir, unsigned long flags) |
628 | { | 630 | { |
629 | return chan->device->device_prep_slave_sg(chan, sgl, sg_len, | 631 | return chan->device->device_prep_slave_sg(chan, sgl, sg_len, |
630 | dir, flags); | 632 | dir, flags, NULL); |
631 | } | 633 | } |
632 | 634 | ||
633 | static inline struct dma_async_tx_descriptor *dmaengine_prep_dma_cyclic( | 635 | static inline struct dma_async_tx_descriptor *dmaengine_prep_dma_cyclic( |
@@ -635,7 +637,7 @@ static inline struct dma_async_tx_descriptor *dmaengine_prep_dma_cyclic( | |||
635 | size_t period_len, enum dma_transfer_direction dir) | 637 | size_t period_len, enum dma_transfer_direction dir) |
636 | { | 638 | { |
637 | return chan->device->device_prep_dma_cyclic(chan, buf_addr, buf_len, | 639 | return chan->device->device_prep_dma_cyclic(chan, buf_addr, buf_len, |
638 | period_len, dir); | 640 | period_len, dir, NULL); |
639 | } | 641 | } |
640 | 642 | ||
641 | static inline int dmaengine_terminate_all(struct dma_chan *chan) | 643 | static inline int dmaengine_terminate_all(struct dma_chan *chan) |