From: Rebecca Schultz Zavin Date: Fri, 19 Oct 2012 04:54:01 +0000 (-0700) Subject: gpu: ion: Don't flush allocatoins that come from the page pools X-Git-Tag: firefly_0821_release~4090^2~646 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=a4194824b16da15d76d5bd94089ec1124ef2369c;p=firefly-linux-kernel-4.4.55.git gpu: ion: Don't flush allocatoins that come from the page pools Change-Id: Ib08cb2cea3b6ea4b1ebf5a1b28abe6b9374fd2bd Signed-off-by: Rebecca Schultz Zavin --- diff --git a/drivers/gpu/ion/ion_system_heap.c b/drivers/gpu/ion/ion_system_heap.c index 2dc3048ed6f6..26e6bbcda702 100644 --- a/drivers/gpu/ion/ion_system_heap.c +++ b/drivers/gpu/ion/ion_system_heap.c @@ -76,9 +76,14 @@ static struct page *alloc_buffer_page(struct ion_system_heap *heap, if (order > 4) gfp_flags = high_order_gfp_flags; page = alloc_pages(gfp_flags, order); + if (!page) + return 0; + __dma_page_cpu_to_dev(page, 0, PAGE_SIZE << order, + DMA_BIDIRECTIONAL); } if (!page) return 0; + if (split_pages) split_page(page, order); return page; @@ -201,9 +206,6 @@ static int ion_system_heap_allocate(struct ion_heap *heap, kfree(info); } - dma_sync_sg_for_device(NULL, table->sgl, table->nents, - DMA_BIDIRECTIONAL); - buffer->priv_virt = table; return 0; err1: