From 8b08536e09a04f460e491ce060583835eae7e164 Mon Sep 17 00:00:00 2001 From: CMY Date: Tue, 22 Jul 2014 15:35:12 +0800 Subject: [PATCH] Revert "rk: cma: attempt to allocate same range memory while cma allocation failure" This reverts commit 17beed5e65b338169ff45cfc6f9c4f28f86b3899. --- arch/arm/configs/rockchip_defconfig | 1 - drivers/base/Kconfig | 8 -------- drivers/base/dma-contiguous.c | 12 ------------ 3 files changed, 21 deletions(-) diff --git a/arch/arm/configs/rockchip_defconfig b/arch/arm/configs/rockchip_defconfig index 246e25729400..fb6d3016ed64 100644 --- a/arch/arm/configs/rockchip_defconfig +++ b/arch/arm/configs/rockchip_defconfig @@ -209,7 +209,6 @@ CONFIG_RFKILL=y CONFIG_RFKILL_RK=y CONFIG_DEVTMPFS=y CONFIG_DMA_CMA=y -CONFIG_CMA_ALLOC_RETRY=20 CONFIG_BLK_DEV_LOOP=y CONFIG_UID_STAT=y CONFIG_SRAM=y diff --git a/drivers/base/Kconfig b/drivers/base/Kconfig index 5f58056429e6..10cd80af2aec 100644 --- a/drivers/base/Kconfig +++ b/drivers/base/Kconfig @@ -278,14 +278,6 @@ config CMA_AREAS If unsure, leave the default value "7". -config CMA_ALLOC_RETRY - int "Maximum count to retry of the CMA Allocation" - depends on ARCH_ROCKCHIP - default 20 - help - CMA allocation range may be busy at this time, we can try again a few - time to make allocate successful. - endif endmenu diff --git a/drivers/base/dma-contiguous.c b/drivers/base/dma-contiguous.c index 3bf898d5f866..99802d6f3c60 100644 --- a/drivers/base/dma-contiguous.c +++ b/drivers/base/dma-contiguous.c @@ -297,18 +297,12 @@ struct page *dma_alloc_from_contiguous(struct device *dev, int count, mutex_lock(&cma_mutex); for (;;) { -#ifdef CONFIG_CMA_ALLOC_RETRY - int retry = 0; -#endif pageno = bitmap_find_next_zero_area(cma->bitmap, cma->count, start, count, mask); if (pageno >= cma->count) break; pfn = cma->base_pfn + pageno; -#ifdef CONFIG_CMA_ALLOC_RETRY - do { -#endif ret = alloc_contig_range(pfn, pfn + count, MIGRATE_CMA); if (ret == 0) { bitmap_set(cma->bitmap, pageno, count); @@ -317,12 +311,6 @@ struct page *dma_alloc_from_contiguous(struct device *dev, int count, } else if (ret != -EBUSY) { break; } -#ifdef CONFIG_CMA_ALLOC_RETRY - }while (++retry<=CONFIG_CMA_ALLOC_RETRY); - - if (retry<=CONFIG_CMA_ALLOC_RETRY) - break; -#endif pr_debug("%s(): memory range at %p is busy, retrying\n", __func__, pfn_to_page(pfn)); /* try again with a bit different memory target */ -- 2.34.1