aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma
diff options
context:
space:
mode:
authorVinod Koul <vinod.koul@intel.com>2013-06-12 04:09:57 -0400
committerVinod Koul <vinod.koul@intel.com>2013-07-05 02:10:46 -0400
commite368b510c01aaf7b2957306836ffdeacc24712a3 (patch)
tree634a8da8326eae909bbf66fd256c1e71ff74a3f5 /drivers/dma
parentfed42c198b45ece0b37eb25d37cbc4a9959c6522 (diff)
dmaengine: dw: select DW_DMAC_BIG_ENDIAN_IO automagically
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to 'drivers/dma')
-rw-r--r--drivers/dma/dw/Kconfig11
-rw-r--r--drivers/dma/dw/regs.h6
2 files changed, 8 insertions, 9 deletions
diff --git a/drivers/dma/dw/Kconfig b/drivers/dma/dw/Kconfig
index db2b41fab626..dde13248b681 100644
--- a/drivers/dma/dw/Kconfig
+++ b/drivers/dma/dw/Kconfig
@@ -10,6 +10,7 @@ config DW_DMAC_CORE
10config DW_DMAC 10config DW_DMAC
11 tristate "Synopsys DesignWare AHB DMA platform driver" 11 tristate "Synopsys DesignWare AHB DMA platform driver"
12 select DW_DMAC_CORE 12 select DW_DMAC_CORE
13 select DW_DMAC_BIG_ENDIAN_IO if AVR32
13 default y if CPU_AT32AP7000 14 default y if CPU_AT32AP7000
14 help 15 help
15 Support the Synopsys DesignWare AHB DMA controller. This 16 Support the Synopsys DesignWare AHB DMA controller. This
@@ -25,12 +26,4 @@ config DW_DMAC_PCI
25 Intel Medfield has integrated this GPDMA controller. 26 Intel Medfield has integrated this GPDMA controller.
26 27
27config DW_DMAC_BIG_ENDIAN_IO 28config DW_DMAC_BIG_ENDIAN_IO
28 bool "Use big endian I/O register access" 29 bool
29 default y if AVR32
30 depends on DW_DMAC_CORE
31 help
32 Say yes here to use big endian I/O access when reading and writing
33 to the DMA controller registers. This is needed on some platforms,
34 like the Atmel AVR32 architecture.
35
36 If unsure, use the default setting.
diff --git a/drivers/dma/dw/regs.h b/drivers/dma/dw/regs.h
index 07c5a6ecb52b..deb4274f80f4 100644
--- a/drivers/dma/dw/regs.h
+++ b/drivers/dma/dw/regs.h
@@ -101,6 +101,12 @@ struct dw_dma_regs {
101 u32 DW_PARAMS; 101 u32 DW_PARAMS;
102}; 102};
103 103
104/*
105 * Big endian I/O access when reading and writing to the DMA controller
106 * registers. This is needed on some platforms, like the Atmel AVR32
107 * architecture.
108 */
109
104#ifdef CONFIG_DW_DMAC_BIG_ENDIAN_IO 110#ifdef CONFIG_DW_DMAC_BIG_ENDIAN_IO
105#define dma_readl_native ioread32be 111#define dma_readl_native ioread32be
106#define dma_writel_native iowrite32be 112#define dma_writel_native iowrite32be