aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-05-25 12:31:59 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-05-25 12:31:59 -0400
commitd5adf235adc8d8d67c10afd43922c92753f6be3c (patch)
tree18c3cdcbc9a50a8cd00b03d83ec76bad7c7594f8 /include
parentd484864dd96e1830e7689510597707c1df8cd681 (diff)
parent1dd1ea8eb46a71201943148cc0ed3182cd04e288 (diff)
Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma
Pull slave-dmaengine updates from Vinod Koul: "Nothing exciting this time, odd fixes in a bunch of drivers" * 'next' of git://git.infradead.org/users/vkoul/slave-dma: dmaengine: at_hdmac: take maxburst from slave configuration dmaengine: at_hdmac: remove ATC_DEFAULT_CTRLA constant dmaengine: at_hdmac: remove some at_dma_slave comments dma: imx-sdma: make channel0 operations atomic dmaengine: Fixup dmaengine_prep_slave_single() to be actually useful dmaengine: Use dma_sg_len(sg) instead of sg->length dmaengine: Use sg_dma_address instead of sg_phys DMA: PL330: Remove duplicate header file inclusion dma: imx-sdma: keep the callbacks invoked in the tasklet dmaengine: dw_dma: add Device Tree probing capability dmaengine: dw_dmac: Add clk_{un}prepare() support dma/amba-pl08x: add support for the Nomadik variant dma/amba-pl08x: check for terminal count status only
Diffstat (limited to 'include')
-rw-r--r--include/linux/amba/pl08x.h3
-rw-r--r--include/linux/dmaengine.h6
2 files changed, 7 insertions, 2 deletions
diff --git a/include/linux/amba/pl08x.h b/include/linux/amba/pl08x.h
index e64ce2cfee99..02549017212a 100644
--- a/include/linux/amba/pl08x.h
+++ b/include/linux/amba/pl08x.h
@@ -92,6 +92,8 @@ struct pl08x_bus_data {
92 * right now 92 * right now
93 * @serving: the virtual channel currently being served by this physical 93 * @serving: the virtual channel currently being served by this physical
94 * channel 94 * channel
95 * @locked: channel unavailable for the system, e.g. dedicated to secure
96 * world
95 */ 97 */
96struct pl08x_phy_chan { 98struct pl08x_phy_chan {
97 unsigned int id; 99 unsigned int id;
@@ -99,6 +101,7 @@ struct pl08x_phy_chan {
99 spinlock_t lock; 101 spinlock_t lock;
100 int signal; 102 int signal;
101 struct pl08x_dma_chan *serving; 103 struct pl08x_dma_chan *serving;
104 bool locked;
102}; 105};
103 106
104/** 107/**
diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h
index f9a2e5e67a54..d3fec584e8c3 100644
--- a/include/linux/dmaengine.h
+++ b/include/linux/dmaengine.h
@@ -615,11 +615,13 @@ static inline int dmaengine_slave_config(struct dma_chan *chan,
615} 615}
616 616
617static inline struct dma_async_tx_descriptor *dmaengine_prep_slave_single( 617static inline struct dma_async_tx_descriptor *dmaengine_prep_slave_single(
618 struct dma_chan *chan, void *buf, size_t len, 618 struct dma_chan *chan, dma_addr_t buf, size_t len,
619 enum dma_transfer_direction dir, unsigned long flags) 619 enum dma_transfer_direction dir, unsigned long flags)
620{ 620{
621 struct scatterlist sg; 621 struct scatterlist sg;
622 sg_init_one(&sg, buf, len); 622 sg_init_table(&sg, 1);
623 sg_dma_address(&sg) = buf;
624 sg_dma_len(&sg) = len;
623 625
624 return chan->device->device_prep_slave_sg(chan, &sg, 1, 626 return chan->device->device_prep_slave_sg(chan, &sg, 1,
625 dir, flags, NULL); 627 dir, flags, NULL);