summaryrefslogtreecommitdiffstats
path: root/drivers/dma/dw_dmac_regs.h
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2013-03-26 15:53:57 +0100
committerVinod Koul <vinod.koul@intel.com>2013-04-15 06:21:19 +0200
commitf776076b9fa82d630651c9af56359d80fce86d68 (patch)
treecb88a7aaa7840ace28833955396c84fd8cef7f9b /drivers/dma/dw_dmac_regs.h
parentdw_dmac: rename DT related methods to reflect their belonging (diff)
downloadlinux-f776076b9fa82d630651c9af56359d80fce86d68.tar.xz
linux-f776076b9fa82d630651c9af56359d80fce86d68.zip
dmaengine: dw_dmac: simplify master selection
The patch to add the common DMA binding added a dummy dw_dma_slave structure into the dw_dma_chan structure in order to configure the masters correctly. It turns out that this can be simplified if we pick the DMA masters in the dwc_alloc_chan_resources function instead and save them in the dw_dma_chan structure directly. This could be simplified further once all users that today use dw_dma_slave for configuration get converted to device tree based setup instead. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Cc: linux-arm-kernel@lists.infradead.org Acked-by: Arnd Bergmann <arnd@arndb.de> 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.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/dma/dw_dmac_regs.h b/drivers/dma/dw_dmac_regs.h
index 4d02c3669b75..9b0e12e85e31 100644
--- a/drivers/dma/dw_dmac_regs.h
+++ b/drivers/dma/dw_dmac_regs.h
@@ -212,8 +212,11 @@ struct dw_dma_chan {
/* hardware configuration */
unsigned int block_size;
bool nollp;
+
+ /* custom slave configuration */
unsigned int request_line;
- struct dw_dma_slave slave;
+ unsigned char src_master;
+ unsigned char dst_master;
/* configuration passed via DMA_SLAVE_CONFIG */
struct dma_slave_config dma_sconfig;