summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXinyu Chen <xinyu.chen@freescale.com>2011-12-13 17:43:15 +0800
committerXinyu Chen <xinyu.chen@freescale.com>2011-12-13 21:37:52 +0800
commit7d385d23a1df4a8b6afe06147aea55f8b12e96f0 (patch)
tree1e11fcb7e5a27a70165cb0cbb2cc47f1f5b2d840
parent2a1e88e44d757f57a9d44611c01172795fdabb07 (diff)
ENGR00161211-2 mx6q: Remove the DMA zone
Disable the CONFIG_ZONE_DMA configure to disable DMA zone, but keep NORMAL zone. Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
-rw-r--r--arch/arm/Kconfig1
-rw-r--r--arch/arm/configs/imx6_android_defconfig6
-rw-r--r--arch/arm/plat-mxc/Kconfig1
-rw-r--r--arch/arm/plat-mxc/include/mach/memory.h9
4 files changed, 9 insertions, 8 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index efdaf57e5668..99dfdc9fd088 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -373,7 +373,6 @@ config ARCH_MXC
select ARCH_REQUIRE_GPIOLIB
select CLKDEV_LOOKUP
select HAVE_SCHED_CLOCK
- select ZONE_DMA
help
Support for Freescale MXC/iMX-based family of processors
diff --git a/arch/arm/configs/imx6_android_defconfig b/arch/arm/configs/imx6_android_defconfig
index 7ef725f093f7..d7fac9e5010d 100644
--- a/arch/arm/configs/imx6_android_defconfig
+++ b/arch/arm/configs/imx6_android_defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux/arm 2.6.38 Kernel Configuration
-# Wed Dec 7 17:18:08 2011
+# Tue Dec 13 17:31:43 2011
#
CONFIG_ARM=y
CONFIG_HAVE_PWM=y
@@ -23,7 +23,6 @@ CONFIG_ARCH_HAS_CPUFREQ=y
CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_ZONE_DMA=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_FIQ=y
CONFIG_VECTORS_BASE=0xffff0000
@@ -339,7 +338,6 @@ CONFIG_ARCH_MXC_IOMUX_V3=y
CONFIG_ARCH_MXC_AUDMUX_V2=y
CONFIG_IRAM_ALLOC=y
CONFIG_CLK_DEBUG=y
-CONFIG_DMA_ZONE_SIZE=184
#
# System MMU
@@ -436,7 +434,7 @@ CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4
# CONFIG_COMPACTION is not set
# CONFIG_PHYS_ADDR_T_64BIT is not set
-CONFIG_ZONE_DMA_FLAG=1
+CONFIG_ZONE_DMA_FLAG=0
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
# CONFIG_KSM is not set
diff --git a/arch/arm/plat-mxc/Kconfig b/arch/arm/plat-mxc/Kconfig
index 589956035a6e..a43ac6208d3f 100644
--- a/arch/arm/plat-mxc/Kconfig
+++ b/arch/arm/plat-mxc/Kconfig
@@ -153,6 +153,7 @@ config CLK_DEBUG
config DMA_ZONE_SIZE
int "DMA memory zone size"
+ depends on ZONE_DMA
range 0 184
default 24
help
diff --git a/arch/arm/plat-mxc/include/mach/memory.h b/arch/arm/plat-mxc/include/mach/memory.h
index 3e99f2ed97a8..b54bdb8d7c91 100644
--- a/arch/arm/plat-mxc/include/mach/memory.h
+++ b/arch/arm/plat-mxc/include/mach/memory.h
@@ -66,7 +66,9 @@
#define CONSISTENT_DMA_SIZE SZ_4M
#else
-#if defined(CONFIG_ARCH_MX5) || defined(CONFIG_ARCH_MX6)
+#ifndef CONFIG_ZONE_DMA
+#define CONSISTENT_DMA_SIZE (64 * SZ_1M)
+#elif defined(CONFIG_ARCH_MX5) || defined(CONFIG_ARCH_MX6)
#define CONSISTENT_DMA_SIZE (184 * SZ_1M)
#else
#define CONSISTENT_DMA_SIZE (32 * SZ_1M)
@@ -76,6 +78,7 @@
#ifndef __ASSEMBLY__
+#ifdef CONFIG_ZONE_DMA
#ifdef CONFIG_DMA_ZONE_SIZE
#define MXC_DMA_ZONE_SIZE ((CONFIG_DMA_ZONE_SIZE * SZ_1M) >> PAGE_SHIFT)
#else
@@ -85,7 +88,6 @@
static inline void __arch_adjust_zones(unsigned long *zone_size,
unsigned long *zhole_size)
{
-#ifdef CONFIG_ZONE_DMA
/* Create separate zone to reserve memory for DMA */
if ((zone_size[0] - zhole_size[0]) > MXC_DMA_ZONE_SIZE) {
zone_size[1] = zone_size[0] - MXC_DMA_ZONE_SIZE;
@@ -93,7 +95,6 @@ static inline void __arch_adjust_zones(unsigned long *zone_size,
zhole_size[1] = zhole_size[0];
zhole_size[0] = 0;
}
-#endif
}
#define arch_adjust_zones(size, holes) \
@@ -101,4 +102,6 @@ static inline void __arch_adjust_zones(unsigned long *zone_size,
#endif
+#endif
+
#endif /* __ASM_ARCH_MXC_MEMORY_H__ */