summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/common
diff options
context:
space:
mode:
authorDeepak Nibade <dnibade@nvidia.com>2017-05-30 08:00:44 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-06-02 09:53:34 -0400
commitbe7f22db8bc5bff131432a4f6d127ecc8ce5096d (patch)
tree6aa0504cf5887ab3c2209fb5e2abb9fb6067f8a6 /drivers/gpu/nvgpu/common
parenta7e633963709bf6f41269ecdf57270c9c7b26bea (diff)
gpu: nvgpu: use nvgpu specific lock APIs in kmem
Use lock/mutex APIs from nvgpu/lock.h instead of using Linux specific APIs in kmem.c This patch is needed in order to remove Linux dependency from nvgpu driver Jira NVGPU-62 Change-Id: Ic3484857bc2fa1917724681f68c1626c1235baea Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: http://git-master/r/1492107 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: svccoveritychecker <svccoveritychecker@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/common')
-rw-r--r--drivers/gpu/nvgpu/common/linux/kmem.c11
-rw-r--r--drivers/gpu/nvgpu/common/linux/kmem_priv.h3
2 files changed, 7 insertions, 7 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/kmem.c b/drivers/gpu/nvgpu/common/linux/kmem.c
index 8422d761..d058eba5 100644
--- a/drivers/gpu/nvgpu/common/linux/kmem.c
+++ b/drivers/gpu/nvgpu/common/linux/kmem.c
@@ -15,14 +15,13 @@
15 */ 15 */
16 16
17#include <linux/mm.h> 17#include <linux/mm.h>
18#include <linux/mutex.h>
19#include <linux/slab.h> 18#include <linux/slab.h>
20#include <linux/debugfs.h> 19#include <linux/debugfs.h>
21#include <linux/spinlock.h>
22#include <linux/seq_file.h> 20#include <linux/seq_file.h>
23#include <linux/vmalloc.h> 21#include <linux/vmalloc.h>
24#include <linux/stacktrace.h> 22#include <linux/stacktrace.h>
25 23
24#include <nvgpu/lock.h>
26#include <nvgpu/kmem.h> 25#include <nvgpu/kmem.h>
27#include <nvgpu/atomic.h> 26#include <nvgpu/atomic.h>
28#include <nvgpu/bug.h> 27#include <nvgpu/bug.h>
@@ -137,12 +136,12 @@ void __nvgpu_vfree(struct gk20a *g, void *addr)
137 136
138static void lock_tracker(struct nvgpu_mem_alloc_tracker *tracker) 137static void lock_tracker(struct nvgpu_mem_alloc_tracker *tracker)
139{ 138{
140 mutex_lock(&tracker->lock); 139 nvgpu_mutex_acquire(&tracker->lock);
141} 140}
142 141
143static void unlock_tracker(struct nvgpu_mem_alloc_tracker *tracker) 142static void unlock_tracker(struct nvgpu_mem_alloc_tracker *tracker)
144{ 143{
145 mutex_unlock(&tracker->lock); 144 nvgpu_mutex_release(&tracker->lock);
146} 145}
147 146
148static void kmem_print_mem_alloc(struct gk20a *g, 147static void kmem_print_mem_alloc(struct gk20a *g,
@@ -843,8 +842,8 @@ int nvgpu_kmem_init(struct gk20a *g)
843 g->vmallocs->allocs = NULL; 842 g->vmallocs->allocs = NULL;
844 g->kmallocs->allocs = NULL; 843 g->kmallocs->allocs = NULL;
845 844
846 mutex_init(&g->vmallocs->lock); 845 nvgpu_mutex_init(&g->vmallocs->lock);
847 mutex_init(&g->kmallocs->lock); 846 nvgpu_mutex_init(&g->kmallocs->lock);
848 847
849 g->vmallocs->min_alloc = PAGE_SIZE; 848 g->vmallocs->min_alloc = PAGE_SIZE;
850 g->kmallocs->min_alloc = KMALLOC_MIN_SIZE; 849 g->kmallocs->min_alloc = KMALLOC_MIN_SIZE;
diff --git a/drivers/gpu/nvgpu/common/linux/kmem_priv.h b/drivers/gpu/nvgpu/common/linux/kmem_priv.h
index cd58ac28..d3abb378 100644
--- a/drivers/gpu/nvgpu/common/linux/kmem_priv.h
+++ b/drivers/gpu/nvgpu/common/linux/kmem_priv.h
@@ -18,6 +18,7 @@
18#define __KMEM_PRIV_H__ 18#define __KMEM_PRIV_H__
19 19
20#include <nvgpu/rbtree.h> 20#include <nvgpu/rbtree.h>
21#include <nvgpu/lock.h>
21 22
22#define __pstat(s, fmt, msg...) \ 23#define __pstat(s, fmt, msg...) \
23 do { \ 24 do { \
@@ -78,7 +79,7 @@ struct nvgpu_mem_alloc_tracker {
78 const char *name; 79 const char *name;
79 struct nvgpu_kmem_cache *allocs_cache; 80 struct nvgpu_kmem_cache *allocs_cache;
80 struct nvgpu_rbtree_node *allocs; 81 struct nvgpu_rbtree_node *allocs;
81 struct mutex lock; 82 struct nvgpu_mutex lock;
82 83
83 u64 bytes_alloced; 84 u64 bytes_alloced;
84 u64 bytes_freed; 85 u64 bytes_freed;