aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma/dw_dmac_regs.h
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2013-02-27 16:36:03 -0500
committerVinod Koul <vinod.koul@intel.com>2013-02-27 23:23:21 -0500
commitf9c6a655a94042f94c0adb30d07d93cfd8915e95 (patch)
tree527fa9aa65510c3ad96e4bb93fbdb6abd46b9f37 /drivers/dma/dw_dmac_regs.h
parent864ef69b2d9b34e7c85baa9c5c601d5e735b208a (diff)
dmaengine: dw_dmac: move to generic DMA binding
The original device tree binding for this driver, from Viresh Kumar unfortunately conflicted with the generic DMA binding, and did not allow to completely seperate slave device configuration from the controller. This is an attempt to replace it with an implementation of the generic binding, but it is currently completely untested, because I do not have any hardware with this particular controller. The patch applies on top of the slave-dma tree, which contains both the base support for the generic DMA binding, as well as the earlier attempt from Viresh. Both of these are currently not merged upstream however. This version incorporates feedback from Viresh Kumar, Andy Shevchenko and Russell King. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Cc: Vinod Koul <vinod.koul@linux.intel.com> Cc: devicetree-discuss@lists.ozlabs.org Cc: linux-arm-kernel@lists.infradead.org Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to 'drivers/dma/dw_dmac_regs.h')
-rw-r--r--drivers/dma/dw_dmac_regs.h7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/dma/dw_dmac_regs.h b/drivers/dma/dw_dmac_regs.h
index 88dd8eb31957..cf0ce5c77d60 100644
--- a/drivers/dma/dw_dmac_regs.h
+++ b/drivers/dma/dw_dmac_regs.h
@@ -13,6 +13,7 @@
13#include <linux/dw_dmac.h> 13#include <linux/dw_dmac.h>
14 14
15#define DW_DMA_MAX_NR_CHANNELS 8 15#define DW_DMA_MAX_NR_CHANNELS 8
16#define DW_DMA_MAX_NR_REQUESTS 16
16 17
17/* flow controller */ 18/* flow controller */
18enum dw_dma_fc { 19enum dw_dma_fc {
@@ -211,6 +212,8 @@ struct dw_dma_chan {
211 /* hardware configuration */ 212 /* hardware configuration */
212 unsigned int block_size; 213 unsigned int block_size;
213 bool nollp; 214 bool nollp;
215 unsigned int request_line;
216 struct dw_dma_slave slave;
214 217
215 /* configuration passed via DMA_SLAVE_CONFIG */ 218 /* configuration passed via DMA_SLAVE_CONFIG */
216 struct dma_slave_config dma_sconfig; 219 struct dma_slave_config dma_sconfig;
@@ -239,10 +242,6 @@ struct dw_dma {
239 struct tasklet_struct tasklet; 242 struct tasklet_struct tasklet;
240 struct clk *clk; 243 struct clk *clk;
241 244
242 /* slave information */
243 struct dw_dma_slave *sd;
244 unsigned int sd_count;
245
246 u8 all_chan_mask; 245 u8 all_chan_mask;
247 246
248 /* hardware configuration */ 247 /* hardware configuration */