From: Xianzhong Date: Mon, 28 Oct 2019 16:19:05 +0000 (+0800) Subject: MGS-5283 [#imx-1238] fix GPU memory without CMA X-Git-Tag: rel_imx_4.19.35_1.1.0~5 X-Git-Url: https://git.somdevices.com/?a=commitdiff_plain;h=2a560ac90b5f55c63b1238b2ec6d0d177aaa12e1;p=linux.git MGS-5283 [#imx-1238] fix GPU memory without CMA Fix GPU memory problem when disable CMA allocator, set LINUX_CMA_FSL=0 in gc_hal_kernel_platform_imx.config Signed-off-by: Xianzhong (cherry picked from commit ecd385c98fdbf8b0b83519b1ae710f08a617fc82) --- diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c index 4b7f4e429e0f..efa1117c0407 100644 --- a/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c +++ b/drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c @@ -1378,7 +1378,11 @@ gckOS_AllocateNonPagedMemory( Flag &= ~gcvALLOC_FLAG_CACHEABLE; #endif +#if LINUX_CMA_FSL Flag |= gcvALLOC_FLAG_CMA_PREEMPT; +#else + Flag |= gcvALLOC_FLAG_4GB_ADDR | gcvALLOC_FLAG_CONTIGUOUS; +#endif /* Walk all allocators. */ list_for_each_entry(allocator, &Os->allocatorList, link) @@ -3121,7 +3125,8 @@ gckOS_AllocatePagedMemory( Flag &= ~gcvALLOC_FLAG_4GB_ADDR; } -#if defined(CONFIG_ZONE_DMA32) && LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) +#if defined(CONFIG_ZONE_DMA32) && LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37) \ + || !defined(LINUX_CMA_FSL) || !LINUX_CMA_FSL /* redirect DMA32 pool for CMA LIMIT request */ if (Flag & gcvALLOC_FLAG_CMA_LIMIT) {