diff options
3 files changed, 8 insertions, 10 deletions
diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/freescale/gc_hal_kernel_allocator_array.h b/drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/freescale/gc_hal_kernel_allocator_array.h index f5c27ce2bb78..69d4afd23725 100644 --- a/drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/freescale/gc_hal_kernel_allocator_array.h +++ b/drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/freescale/gc_hal_kernel_allocator_array.h @@ -106,11 +106,12 @@ _DmaAlloctorInit( gcsALLOCATOR_DESC allocatorArray[] = { + /* GFP allocator. */ + gcmkDEFINE_ALLOCATOR_DESC("gfp", _GFPAlloctorInit), + #if LINUX_CMA_FSL gcmkDEFINE_ALLOCATOR_DESC("cmafsl", _CMAFSLAlloctorInit), #endif - /* GFP allocator. */ - gcmkDEFINE_ALLOCATOR_DESC("gfp", _GFPAlloctorInit), /* User memory importer. */ gcmkDEFINE_ALLOCATOR_DESC("user", _UserMemoryAlloctorInit), diff --git a/drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/freescale/gc_hal_kernel_allocator_cma.c b/drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/freescale/gc_hal_kernel_allocator_cma.c index f3f770acb72f..f0a3d166f1a5 100644 --- a/drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/freescale/gc_hal_kernel_allocator_cma.c +++ b/drivers/mxc/gpu-viv/hal/os/linux/kernel/allocator/freescale/gc_hal_kernel_allocator_cma.c @@ -144,9 +144,9 @@ _CMAFSLAlloc( gcmkHEADER_ARG("Mdl=%p NumPages=0x%zx", Mdl, NumPages); - if (os->allocatorLimitMarker) + if (os->allocatorLimitMarker && !(Flags & gcvALLOC_FLAG_CMA_PREEMPT)) { - if ((Flags & gcvALLOC_FLAG_CMA_LIMIT) && !(Flags & gcvALLOC_FLAG_CMA_PREEMPT)) + if (Flags & gcvALLOC_FLAG_CMA_LIMIT) { priv->cmaLimitRequest = gcvTRUE; } @@ -585,9 +585,10 @@ _CMAFSLAlloctorInit( if (Os->allocatorLimitMarker) { allocator->capability |= gcvALLOC_FLAG_CMA_LIMIT; - allocator->capability |= gcvALLOC_FLAG_CMA_PREEMPT; } + allocator->capability |= gcvALLOC_FLAG_CMA_PREEMPT; + *Allocator = allocator; return gcvSTATUS_OK; 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 7e8eb1dd3838..bfd4f2fd2f82 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 @@ -1283,11 +1283,7 @@ gckOS_AllocateNonPagedMemory( gcmkASSERT(Flag & gcvALLOC_FLAG_CONTIGUOUS); - if (Os->allocatorLimitMarker) - { - Flag |= gcvALLOC_FLAG_CMA_LIMIT; - Flag |= gcvALLOC_FLAG_CMA_PREEMPT; - } + Flag |= gcvALLOC_FLAG_CMA_PREEMPT; /* Walk all allocators. */ list_for_each_entry(allocator, &Os->allocatorList, link) |