Revert "rk: ion: judge __GFP_ZERO flag to decide whether to call"

This reverts commit c11b3c06ea.
This commit is contained in:
CMY
2014-03-20 13:05:14 +08:00
parent aed195e1bc
commit ebd77e2813
2 changed files with 7 additions and 8 deletions

13
arch/arm/mm/dma-mapping.c Executable file → Normal file
View File

@@ -255,7 +255,7 @@ static void __dma_free_buffer(struct page *page, size_t size)
static void *__alloc_from_contiguous(struct device *dev, size_t size,
pgprot_t prot, struct page **ret_page,
int clean, const void *caller);
const void *caller);
static void *__alloc_remap_buffer(struct device *dev, size_t size, gfp_t gfp,
pgprot_t prot, struct page **ret_page,
@@ -360,7 +360,7 @@ static int __init atomic_pool_init(void)
if (IS_ENABLED(CONFIG_CMA))
ptr = __alloc_from_contiguous(NULL, pool->size, prot, &page,
1, atomic_pool_init);
atomic_pool_init);
else
ptr = __alloc_remap_buffer(NULL, pool->size, gfp, prot, &page,
atomic_pool_init);
@@ -557,7 +557,7 @@ static int __free_from_pool(void *start, size_t size)
static void *__alloc_from_contiguous(struct device *dev, size_t size,
pgprot_t prot, struct page **ret_page,
int clean, const void *caller)
const void *caller)
{
unsigned long order = get_order(size);
size_t count = size >> PAGE_SHIFT;
@@ -568,8 +568,7 @@ static void *__alloc_from_contiguous(struct device *dev, size_t size,
if (!page)
return NULL;
if (clean)
__dma_clear_buffer(page, size);
__dma_clear_buffer(page, size);
if (PageHighMem(page)) {
ptr = __dma_alloc_remap(page, size, GFP_KERNEL, prot, caller);
@@ -612,7 +611,7 @@ static inline pgprot_t __get_dma_pgprot(struct dma_attrs *attrs, pgprot_t prot)
#define __get_dma_pgprot(attrs, prot) __pgprot(0)
#define __alloc_remap_buffer(dev, size, gfp, prot, ret, c) NULL
#define __alloc_from_pool(size, ret_page) NULL
#define __alloc_from_contiguous(dev, size, prot, ret, clean, c) NULL
#define __alloc_from_contiguous(dev, size, prot, ret, c) NULL
#define __free_from_pool(cpu_addr, size) 0
#define __free_from_contiguous(dev, page, cpu_addr, size) do { } while (0)
#define __dma_free_remap(cpu_addr, size) do { } while (0)
@@ -674,7 +673,7 @@ static void *__dma_alloc(struct device *dev, size_t size, dma_addr_t *handle,
else if (!IS_ENABLED(CONFIG_CMA))
addr = __alloc_remap_buffer(dev, size, gfp, prot, &page, caller);
else
addr = __alloc_from_contiguous(dev, size, prot, &page, !!(gfp & __GFP_ZERO), caller);
addr = __alloc_from_contiguous(dev, size, prot, &page, caller);
if (addr)
*handle = pfn_to_dma(dev, page_to_pfn(page));

View File

@@ -86,7 +86,7 @@ static int ion_cma_allocate(struct ion_heap *heap, struct ion_buffer *buffer,
if (!ION_IS_CACHED(flags)) {
info->cpu_addr = dma_alloc_coherent(dev, len, &(info->handle),
GFP_HIGHUSER/* | __GFP_ZERO*/);
GFP_HIGHUSER | __GFP_ZERO);
} else {
info->cpu_addr = dma_alloc_nonconsistent(dev, len,
&(info->handle), GFP_HIGHUSER | __GFP_ZERO/*0*/);