diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-25 12:31:59 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-05-25 12:31:59 -0400 |
| commit | d5adf235adc8d8d67c10afd43922c92753f6be3c (patch) | |
| tree | 18c3cdcbc9a50a8cd00b03d83ec76bad7c7594f8 /include | |
| parent | d484864dd96e1830e7689510597707c1df8cd681 (diff) | |
| parent | 1dd1ea8eb46a71201943148cc0ed3182cd04e288 (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.h | 3 | ||||
| -rw-r--r-- | include/linux/dmaengine.h | 6 |
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 | */ |
| 96 | struct pl08x_phy_chan { | 98 | struct 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 | ||
| 617 | static inline struct dma_async_tx_descriptor *dmaengine_prep_slave_single( | 617 | static 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); |
