Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3611553e authored by Haavard Skinnemoen's avatar Haavard Skinnemoen
Browse files

[AVR32] Drop GFP_COMP for DMA memory allocations



dma_alloc_coherent wants to split pages after allocation in order to
reduce the memory footprint. This does not work well with GFP_COMP
pages, so drop this flag before allocation.

This patch was forward-ported from BSP 2.0

Signed-off-by: default avatarHaavard Skinnemoen <hskinnemoen@atmel.com>
parent 49914084
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -41,6 +41,13 @@ static struct page *__dma_alloc(struct device *dev, size_t size,
	struct page *page, *free, *end;
	int order;

	/* Following is a work-around (a.k.a. hack) to prevent pages
	 * with __GFP_COMP being passed to split_page() which cannot
	 * handle them.  The real problem is that this flag probably
	 * should be 0 on AVR32 as it is not supported on this
	 * platform--see CONFIG_HUGETLB_PAGE. */
	gfp &= ~(__GFP_COMP);

	size = PAGE_ALIGN(size);
	order = get_order(size);