diff --git a/drivers/gpu/nvgpu/include/nvgpu/kmem.h b/drivers/gpu/nvgpu/include/nvgpu/kmem.h index da9e33907..d4ddf86c3 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/kmem.h +++ b/drivers/gpu/nvgpu/include/nvgpu/kmem.h @@ -117,7 +117,7 @@ void nvgpu_kmem_cache_free(struct nvgpu_kmem_cache *cache, void *ptr); * * This function may sleep so cannot be used in IRQs. */ -#define nvgpu_kmalloc(g, size) __nvgpu_kmalloc(g, size, _NVGPU_GET_IP_) +#define nvgpu_kmalloc(g, size) nvgpu_kmalloc_impl(g, size, _NVGPU_GET_IP_) /** * nvgpu_kzalloc - Allocate from the kernel's allocator. @@ -128,7 +128,7 @@ void nvgpu_kmem_cache_free(struct nvgpu_kmem_cache *cache, void *ptr); * Identical to nvgpu_kalloc() except the memory will be zeroed before being * returned. */ -#define nvgpu_kzalloc(g, size) __nvgpu_kzalloc(g, size, _NVGPU_GET_IP_) +#define nvgpu_kzalloc(g, size) nvgpu_kzalloc_impl(g, size, _NVGPU_GET_IP_) /** * nvgpu_kcalloc - Allocate from the kernel's allocator. @@ -141,7 +141,7 @@ void nvgpu_kmem_cache_free(struct nvgpu_kmem_cache *cache, void *ptr); * @n * @size. */ #define nvgpu_kcalloc(g, n, size) \ - __nvgpu_kcalloc(g, n, size, _NVGPU_GET_IP_) + nvgpu_kcalloc_impl(g, n, size, _NVGPU_GET_IP_) /** * nvgpu_vmalloc - Allocate memory and return a map to it. @@ -157,7 +157,7 @@ void nvgpu_kmem_cache_free(struct nvgpu_kmem_cache *cache, void *ptr); * * This function may sleep. */ -#define nvgpu_vmalloc(g, size) __nvgpu_vmalloc(g, size, _NVGPU_GET_IP_) +#define nvgpu_vmalloc(g, size) nvgpu_vmalloc_impl(g, size, _NVGPU_GET_IP_) /** * nvgpu_vzalloc - Allocate memory and return a map to it. @@ -167,7 +167,7 @@ void nvgpu_kmem_cache_free(struct nvgpu_kmem_cache *cache, void *ptr); * * Identical to nvgpu_vmalloc() except this will return zero'ed memory. */ -#define nvgpu_vzalloc(g, size) __nvgpu_vzalloc(g, size, _NVGPU_GET_IP_) +#define nvgpu_vzalloc(g, size) nvgpu_vzalloc_impl(g, size, _NVGPU_GET_IP_) /** * nvgpu_kfree - Frees an alloc from nvgpu_kmalloc, nvgpu_kzalloc, @@ -176,7 +176,7 @@ void nvgpu_kmem_cache_free(struct nvgpu_kmem_cache *cache, void *ptr); * @g: Current GPU. * @addr: Address of object to free. */ -#define nvgpu_kfree(g, addr) __nvgpu_kfree(g, addr) +#define nvgpu_kfree(g, addr) nvgpu_kfree_impl(g, addr) /** * nvgpu_vfree - Frees an alloc from nvgpu_vmalloc, nvgpu_vzalloc. @@ -184,7 +184,7 @@ void nvgpu_kmem_cache_free(struct nvgpu_kmem_cache *cache, void *ptr); * @g: Current GPU. * @addr: Address of object to free. */ -#define nvgpu_vfree(g, addr) __nvgpu_vfree(g, addr) +#define nvgpu_vfree(g, addr) nvgpu_vfree_impl(g, addr) #define kmem_dbg(g, fmt, args...) \ nvgpu_log(g, gpu_dbg_kmem, fmt, ##args) @@ -230,7 +230,7 @@ void nvgpu_kmem_fini(struct gk20a *g, int flags); /* * Implemented by the OS interface. */ -void *__nvgpu_big_alloc(struct gk20a *g, size_t size, bool clear); +void *nvgpu_big_alloc_impl(struct gk20a *g, size_t size, bool clear); /** * nvgpu_big_malloc - Pick virtual or physical alloc based on @size @@ -256,7 +256,7 @@ void *__nvgpu_big_alloc(struct gk20a *g, size_t size, bool clear); */ static inline void *nvgpu_big_malloc(struct gk20a *g, size_t size) { - return __nvgpu_big_alloc(g, size, false); + return nvgpu_big_alloc_impl(g, size, false); } /** @@ -269,7 +269,7 @@ static inline void *nvgpu_big_malloc(struct gk20a *g, size_t size) */ static inline void *nvgpu_big_zalloc(struct gk20a *g, size_t size) { - return __nvgpu_big_alloc(g, size, true); + return nvgpu_big_alloc_impl(g, size, true); } /** diff --git a/drivers/gpu/nvgpu/include/nvgpu/linux/kmem.h b/drivers/gpu/nvgpu/include/nvgpu/linux/kmem.h index 660aac9fc..1a80f8186 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/linux/kmem.h +++ b/drivers/gpu/nvgpu/include/nvgpu/linux/kmem.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017, NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2017-2019, NVIDIA CORPORATION. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, @@ -36,12 +36,12 @@ void __nvgpu_track_kfree(struct gk20a *g, void *addr); * These are the Linux implementations of the various kmem functions defined by * nvgpu. This should not be included directly - instead include . */ -void *__nvgpu_kmalloc(struct gk20a *g, size_t size, void *ip); -void *__nvgpu_kzalloc(struct gk20a *g, size_t size, void *ip); -void *__nvgpu_kcalloc(struct gk20a *g, size_t n, size_t size, void *ip); -void *__nvgpu_vmalloc(struct gk20a *g, unsigned long size, void *ip); -void *__nvgpu_vzalloc(struct gk20a *g, unsigned long size, void *ip); -void __nvgpu_kfree(struct gk20a *g, void *addr); -void __nvgpu_vfree(struct gk20a *g, void *addr); +void *nvgpu_kmalloc_impl(struct gk20a *g, size_t size, void *ip); +void *nvgpu_kzalloc_impl(struct gk20a *g, size_t size, void *ip); +void *nvgpu_kcalloc_impl(struct gk20a *g, size_t n, size_t size, void *ip); +void *nvgpu_vmalloc_impl(struct gk20a *g, unsigned long size, void *ip); +void *nvgpu_vzalloc_impl(struct gk20a *g, unsigned long size, void *ip); +void nvgpu_kfree_impl(struct gk20a *g, void *addr); +void nvgpu_vfree_impl(struct gk20a *g, void *addr); #endif diff --git a/drivers/gpu/nvgpu/include/nvgpu/posix/kmem.h b/drivers/gpu/nvgpu/include/nvgpu/posix/kmem.h index 420331ebc..cfb2e396d 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/posix/kmem.h +++ b/drivers/gpu/nvgpu/include/nvgpu/posix/kmem.h @@ -25,13 +25,13 @@ #include -void *__nvgpu_kmalloc(struct gk20a *g, size_t size, void *ip); -void *__nvgpu_kzalloc(struct gk20a *g, size_t size, void *ip); -void *__nvgpu_kcalloc(struct gk20a *g, size_t n, size_t size, void *ip); -void *__nvgpu_vmalloc(struct gk20a *g, unsigned long size, void *ip); -void *__nvgpu_vzalloc(struct gk20a *g, unsigned long size, void *ip); -void __nvgpu_kfree(struct gk20a *g, void *addr); -void __nvgpu_vfree(struct gk20a *g, void *addr); +void *nvgpu_kmalloc_impl(struct gk20a *g, size_t size, void *ip); +void *nvgpu_kzalloc_impl(struct gk20a *g, size_t size, void *ip); +void *nvgpu_kcalloc_impl(struct gk20a *g, size_t n, size_t size, void *ip); +void *nvgpu_vmalloc_impl(struct gk20a *g, unsigned long size, void *ip); +void *nvgpu_vzalloc_impl(struct gk20a *g, unsigned long size, void *ip); +void nvgpu_kfree_impl(struct gk20a *g, void *addr); +void nvgpu_vfree_impl(struct gk20a *g, void *addr); struct nvgpu_posix_fault_inj *nvgpu_kmem_get_fault_injection(void); diff --git a/drivers/gpu/nvgpu/libnvgpu-drv.export b/drivers/gpu/nvgpu/libnvgpu-drv.export index 0659f013a..ca151fee2 100644 --- a/drivers/gpu/nvgpu/libnvgpu-drv.export +++ b/drivers/gpu/nvgpu/libnvgpu-drv.export @@ -2,9 +2,6 @@ __bug __nvgpu_get_pte -__nvgpu_kfree -__nvgpu_kmalloc -__nvgpu_kzalloc __nvgpu_log_dbg __nvgpu_log_msg __nvgpu_readl @@ -86,11 +83,14 @@ nvgpu_init_hal nvgpu_init_mm_support nvgpu_init_pramin nvgpu_is_enabled +nvgpu_kfree_impl +nvgpu_kmalloc_impl nvgpu_kmem_cache_alloc nvgpu_kmem_cache_create nvgpu_kmem_cache_destroy nvgpu_kmem_cache_free nvgpu_kmem_get_fault_injection +nvgpu_kzalloc_impl nvgpu_memset nvgpu_mem_create_from_phys nvgpu_mem_iommu_translate diff --git a/drivers/gpu/nvgpu/os/linux/kmem.c b/drivers/gpu/nvgpu/os/linux/kmem.c index ea455929e..fdbde95b0 100644 --- a/drivers/gpu/nvgpu/os/linux/kmem.c +++ b/drivers/gpu/nvgpu/os/linux/kmem.c @@ -36,7 +36,7 @@ */ static atomic_t kmem_cache_id; -void *__nvgpu_big_alloc(struct gk20a *g, size_t size, bool clear) +void *nvgpu_big_alloc_impl(struct gk20a *g, size_t size, bool clear) { void *p; @@ -68,7 +68,7 @@ void nvgpu_big_free(struct gk20a *g, void *p) nvgpu_kfree(g, p); } -void *__nvgpu_kmalloc(struct gk20a *g, size_t size, void *ip) +void *nvgpu_kmalloc_impl(struct gk20a *g, size_t size, void *ip) { void *alloc; @@ -84,7 +84,7 @@ void *__nvgpu_kmalloc(struct gk20a *g, size_t size, void *ip) return alloc; } -void *__nvgpu_kzalloc(struct gk20a *g, size_t size, void *ip) +void *nvgpu_kzalloc_impl(struct gk20a *g, size_t size, void *ip) { void *alloc; @@ -100,7 +100,7 @@ void *__nvgpu_kzalloc(struct gk20a *g, size_t size, void *ip) return alloc; } -void *__nvgpu_kcalloc(struct gk20a *g, size_t n, size_t size, void *ip) +void *nvgpu_kcalloc_impl(struct gk20a *g, size_t n, size_t size, void *ip) { void *alloc; @@ -116,7 +116,7 @@ void *__nvgpu_kcalloc(struct gk20a *g, size_t n, size_t size, void *ip) return alloc; } -void *__nvgpu_vmalloc(struct gk20a *g, unsigned long size, void *ip) +void *nvgpu_vmalloc_impl(struct gk20a *g, unsigned long size, void *ip) { void *alloc; @@ -131,7 +131,7 @@ void *__nvgpu_vmalloc(struct gk20a *g, unsigned long size, void *ip) return alloc; } -void *__nvgpu_vzalloc(struct gk20a *g, unsigned long size, void *ip) +void *nvgpu_vzalloc_impl(struct gk20a *g, unsigned long size, void *ip) { void *alloc; @@ -146,7 +146,7 @@ void *__nvgpu_vzalloc(struct gk20a *g, unsigned long size, void *ip) return alloc; } -void __nvgpu_kfree(struct gk20a *g, void *addr) +void nvgpu_kfree_impl(struct gk20a *g, void *addr) { kmem_dbg(g, "kfree: addr=0x%p", addr); #ifdef CONFIG_NVGPU_TRACK_MEM_USAGE @@ -156,7 +156,7 @@ void __nvgpu_kfree(struct gk20a *g, void *addr) #endif } -void __nvgpu_vfree(struct gk20a *g, void *addr) +void nvgpu_vfree_impl(struct gk20a *g, void *addr) { kmem_dbg(g, "vfree: addr=0x%p", addr); #ifdef CONFIG_NVGPU_TRACK_MEM_USAGE diff --git a/drivers/gpu/nvgpu/os/posix/kmem.c b/drivers/gpu/nvgpu/os/posix/kmem.c index 12c35980f..8c2edb507 100644 --- a/drivers/gpu/nvgpu/os/posix/kmem.c +++ b/drivers/gpu/nvgpu/os/posix/kmem.c @@ -98,7 +98,7 @@ void nvgpu_kmem_cache_free(struct nvgpu_kmem_cache *cache, void *ptr) free(ptr); } -void *__nvgpu_kmalloc(struct gk20a *g, size_t size, void *ip) +void *nvgpu_kmalloc_impl(struct gk20a *g, size_t size, void *ip) { #ifdef NVGPU_UNITTEST_FAULT_INJECTION_ENABLEMENT if (nvgpu_posix_fault_injection_handle_call(&kmem_fi)) { @@ -115,7 +115,7 @@ void *__nvgpu_kmalloc(struct gk20a *g, size_t size, void *ip) return malloc(size); } -void *__nvgpu_kzalloc(struct gk20a *g, size_t size, void *ip) +void *nvgpu_kzalloc_impl(struct gk20a *g, size_t size, void *ip) { #ifdef NVGPU_UNITTEST_FAULT_INJECTION_ENABLEMENT if (nvgpu_posix_fault_injection_handle_call(&kmem_fi)) { @@ -125,7 +125,7 @@ void *__nvgpu_kzalloc(struct gk20a *g, size_t size, void *ip) return calloc(1, size); } -void *__nvgpu_kcalloc(struct gk20a *g, size_t n, size_t size, void *ip) +void *nvgpu_kcalloc_impl(struct gk20a *g, size_t n, size_t size, void *ip) { #ifdef NVGPU_UNITTEST_FAULT_INJECTION_ENABLEMENT if (nvgpu_posix_fault_injection_handle_call(&kmem_fi)) { @@ -135,27 +135,27 @@ void *__nvgpu_kcalloc(struct gk20a *g, size_t n, size_t size, void *ip) return calloc(1, n * size); } -void *__nvgpu_vmalloc(struct gk20a *g, unsigned long size, void *ip) +void *nvgpu_vmalloc_impl(struct gk20a *g, unsigned long size, void *ip) { - return __nvgpu_kmalloc(g, size, ip); + return nvgpu_kmalloc_impl(g, size, ip); } -void *__nvgpu_vzalloc(struct gk20a *g, unsigned long size, void *ip) +void *nvgpu_vzalloc_impl(struct gk20a *g, unsigned long size, void *ip) { - return __nvgpu_kzalloc(g, size, ip); + return nvgpu_kzalloc_impl(g, size, ip); } -void __nvgpu_kfree(struct gk20a *g, void *addr) +void nvgpu_kfree_impl(struct gk20a *g, void *addr) { free(addr); } -void __nvgpu_vfree(struct gk20a *g, void *addr) +void nvgpu_vfree_impl(struct gk20a *g, void *addr) { - __nvgpu_kfree(g, addr); + nvgpu_kfree_impl(g, addr); } -void *__nvgpu_big_alloc(struct gk20a *g, size_t size, bool clear) +void *nvgpu_big_alloc_impl(struct gk20a *g, size_t size, bool clear) { if (clear) { return nvgpu_kzalloc(g, size); @@ -166,7 +166,7 @@ void *__nvgpu_big_alloc(struct gk20a *g, size_t size, bool clear) void nvgpu_big_free(struct gk20a *g, void *p) { - __nvgpu_kfree(g, p); + nvgpu_kfree_impl(g, p); } int nvgpu_kmem_init(struct gk20a *g)