From f2467c9e62bce495bf7133dbc2fb9420324773d3 Mon Sep 17 00:00:00 2001 From: Jason Liu Date: Fri, 28 Jun 2013 10:04:22 +0800 Subject: ENGR00268891 MM:remove the experimental CMA defconfig The CMA support marked as the experimental in the kernel Kconfig. After turns it on, we found many memory issues. Since this CMA support on the 3.5.7 kernel is not mature enough, just turn it off and use back the consistent remap DMA. Signed-off-by: Jason Liu --- arch/arm/Kconfig | 11 ++++++++++- arch/arm/configs/imx_v6_v7_defconfig | 2 -- arch/arm/mm/dma-mapping.c | 2 +- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 84fc56e27220..d99dc1169c06 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1725,9 +1725,10 @@ config HW_PERF_EVENTS source "mm/Kconfig" config FORCE_MAX_ZONEORDER - int "Maximum zone order" if ARCH_SHMOBILE + int "Maximum zone order" if ARCH_SHMOBILE || ARCH_MXC range 11 64 if ARCH_SHMOBILE default "9" if SA1111 + default "14" if ARCH_MXC default "11" help The kernel memory allocator divides physically contiguous memory @@ -1740,6 +1741,14 @@ config FORCE_MAX_ZONEORDER This config option is actually maximum order plus one. For example, a value of 11 means that the largest free memory block is 2^10 pages. +config CONSISTENT_DMA_SIZE_IN_MB + int "consistent dma size in MBytes" + default "184" if ARCH_MXC + default "2" + help + The option provides the arch related consistent dma size in MBytes, + if the number is 2 which means the consitend dma size will be 2MB. + config LEDS bool "Timer and CPU usage LEDs" depends on ARCH_CDB89712 || ARCH_EBSA110 || \ diff --git a/arch/arm/configs/imx_v6_v7_defconfig b/arch/arm/configs/imx_v6_v7_defconfig index b52d3c2c775e..43b6da271e14 100644 --- a/arch/arm/configs/imx_v6_v7_defconfig +++ b/arch/arm/configs/imx_v6_v7_defconfig @@ -81,8 +81,6 @@ CONFIG_CFG80211=y CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y # CONFIG_STANDALONE is not set -CONFIG_CMA=y -CONFIG_CMA_SIZE_MBYTES=184 CONFIG_IMX_WEIM=y CONFIG_CONNECTOR=y CONFIG_MTD=y diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c index 85acb8ea6712..df2b52ebc3d2 100644 --- a/arch/arm/mm/dma-mapping.c +++ b/arch/arm/mm/dma-mapping.c @@ -226,7 +226,7 @@ static void __dma_free_buffer(struct page *page, size_t size) */ static pte_t **consistent_pte; -#define DEFAULT_CONSISTENT_DMA_SIZE SZ_2M +#define DEFAULT_CONSISTENT_DMA_SIZE (CONFIG_CONSISTENT_DMA_SIZE_IN_MB * SZ_1M) static unsigned long consistent_base = CONSISTENT_END - DEFAULT_CONSISTENT_DMA_SIZE; -- cgit v1.2.3