diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-03-03 13:20:22 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-03-03 13:20:22 -0500 |
commit | 527c680f7c36ff17d49efc99632232dba3549c51 (patch) | |
tree | ae72c69971ff8dce4cc17b0035bd6abb2651a110 /include/linux | |
parent | 23caaeea271cfe3176f0e27374d2016bd7583ea8 (diff) | |
parent | f9c6a655a94042f94c0adb30d07d93cfd8915e95 (diff) |
Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma
Pull second set of slave-dmaengine updates from Vinod Koul:
"Arnd's patch moves the dw_dmac to use generic DMA binding. I agreed
to merge this late as it will avoid the conflicts between trees.
The second patch from Matt adding a dma_request_slave_channel_compat
API was supposed to be picked up, but somehow never got picked up.
Some patches dependent on this are already in -next :("
* 'next' of git://git.infradead.org/users/vkoul/slave-dma:
dmaengine: dw_dmac: move to generic DMA binding
dmaengine: add dma_request_slave_channel_compat()
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/dmaengine.h | 16 | ||||
-rw-r--r-- | include/linux/dw_dmac.h | 5 |
2 files changed, 16 insertions, 5 deletions
diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h index f5939999cb65..91ac8da25020 100644 --- a/include/linux/dmaengine.h +++ b/include/linux/dmaengine.h | |||
@@ -1001,6 +1001,22 @@ void dma_run_dependencies(struct dma_async_tx_descriptor *tx); | |||
1001 | struct dma_chan *dma_find_channel(enum dma_transaction_type tx_type); | 1001 | struct dma_chan *dma_find_channel(enum dma_transaction_type tx_type); |
1002 | struct dma_chan *net_dma_find_channel(void); | 1002 | struct dma_chan *net_dma_find_channel(void); |
1003 | #define dma_request_channel(mask, x, y) __dma_request_channel(&(mask), x, y) | 1003 | #define dma_request_channel(mask, x, y) __dma_request_channel(&(mask), x, y) |
1004 | #define dma_request_slave_channel_compat(mask, x, y, dev, name) \ | ||
1005 | __dma_request_slave_channel_compat(&(mask), x, y, dev, name) | ||
1006 | |||
1007 | static inline struct dma_chan | ||
1008 | *__dma_request_slave_channel_compat(dma_cap_mask_t *mask, dma_filter_fn fn, | ||
1009 | void *fn_param, struct device *dev, | ||
1010 | char *name) | ||
1011 | { | ||
1012 | struct dma_chan *chan; | ||
1013 | |||
1014 | chan = dma_request_slave_channel(dev, name); | ||
1015 | if (chan) | ||
1016 | return chan; | ||
1017 | |||
1018 | return __dma_request_channel(mask, fn, fn_param); | ||
1019 | } | ||
1004 | 1020 | ||
1005 | /* --- Helper iov-locking functions --- */ | 1021 | /* --- Helper iov-locking functions --- */ |
1006 | 1022 | ||
diff --git a/include/linux/dw_dmac.h b/include/linux/dw_dmac.h index 41766de66e33..481ab2345d6b 100644 --- a/include/linux/dw_dmac.h +++ b/include/linux/dw_dmac.h | |||
@@ -27,7 +27,6 @@ | |||
27 | */ | 27 | */ |
28 | struct dw_dma_slave { | 28 | struct dw_dma_slave { |
29 | struct device *dma_dev; | 29 | struct device *dma_dev; |
30 | const char *bus_id; | ||
31 | u32 cfg_hi; | 30 | u32 cfg_hi; |
32 | u32 cfg_lo; | 31 | u32 cfg_lo; |
33 | u8 src_master; | 32 | u8 src_master; |
@@ -60,9 +59,6 @@ struct dw_dma_platform_data { | |||
60 | unsigned short block_size; | 59 | unsigned short block_size; |
61 | unsigned char nr_masters; | 60 | unsigned char nr_masters; |
62 | unsigned char data_width[4]; | 61 | unsigned char data_width[4]; |
63 | |||
64 | struct dw_dma_slave *sd; | ||
65 | unsigned int sd_count; | ||
66 | }; | 62 | }; |
67 | 63 | ||
68 | /* bursts size */ | 64 | /* bursts size */ |
@@ -114,6 +110,5 @@ void dw_dma_cyclic_stop(struct dma_chan *chan); | |||
114 | dma_addr_t dw_dma_get_src_addr(struct dma_chan *chan); | 110 | dma_addr_t dw_dma_get_src_addr(struct dma_chan *chan); |
115 | 111 | ||
116 | dma_addr_t dw_dma_get_dst_addr(struct dma_chan *chan); | 112 | dma_addr_t dw_dma_get_dst_addr(struct dma_chan *chan); |
117 | bool dw_dma_generic_filter(struct dma_chan *chan, void *param); | ||
118 | 113 | ||
119 | #endif /* DW_DMAC_H */ | 114 | #endif /* DW_DMAC_H */ |