diff options
Diffstat (limited to 'drivers/gpu/nvgpu/common/linux/driver_common.c')
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/driver_common.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/driver_common.c b/drivers/gpu/nvgpu/common/linux/driver_common.c index 45b53d88..1d1e5371 100644 --- a/drivers/gpu/nvgpu/common/linux/driver_common.c +++ b/drivers/gpu/nvgpu/common/linux/driver_common.c | |||
@@ -15,6 +15,7 @@ | |||
15 | */ | 15 | */ |
16 | 16 | ||
17 | #include <linux/dma-mapping.h> | 17 | #include <linux/dma-mapping.h> |
18 | #include <linux/mm.h> | ||
18 | #include <uapi/linux/nvgpu.h> | 19 | #include <uapi/linux/nvgpu.h> |
19 | 20 | ||
20 | #include <nvgpu/kmem.h> | 21 | #include <nvgpu/kmem.h> |
@@ -43,7 +44,6 @@ static void nvgpu_init_vars(struct gk20a *g) | |||
43 | 44 | ||
44 | nvgpu_cond_init(&l->sw_irq_stall_last_handled_wq); | 45 | nvgpu_cond_init(&l->sw_irq_stall_last_handled_wq); |
45 | nvgpu_cond_init(&l->sw_irq_nonstall_last_handled_wq); | 46 | nvgpu_cond_init(&l->sw_irq_nonstall_last_handled_wq); |
46 | gk20a_init_gr(g); | ||
47 | 47 | ||
48 | init_rwsem(&l->busy_lock); | 48 | init_rwsem(&l->busy_lock); |
49 | nvgpu_rwsem_init(&g->deterministic_busy); | 49 | nvgpu_rwsem_init(&g->deterministic_busy); |
@@ -74,6 +74,15 @@ static void nvgpu_init_vars(struct gk20a *g) | |||
74 | nvgpu_init_list_node(&g->boardobjgrp_head); | 74 | nvgpu_init_list_node(&g->boardobjgrp_head); |
75 | } | 75 | } |
76 | 76 | ||
77 | static void nvgpu_init_gr_vars(struct gk20a *g) | ||
78 | { | ||
79 | gk20a_init_gr(g); | ||
80 | |||
81 | gk20a_dbg_info("total ram pages : %lu", totalram_pages); | ||
82 | g->gr.max_comptag_mem = totalram_pages | ||
83 | >> (10 - (PAGE_SHIFT - 10)); | ||
84 | } | ||
85 | |||
77 | static void nvgpu_init_timeout(struct gk20a *g) | 86 | static void nvgpu_init_timeout(struct gk20a *g) |
78 | { | 87 | { |
79 | struct gk20a_platform *platform = dev_get_drvdata(dev_from_gk20a(g)); | 88 | struct gk20a_platform *platform = dev_get_drvdata(dev_from_gk20a(g)); |
@@ -187,6 +196,7 @@ int nvgpu_probe(struct gk20a *g, | |||
187 | int err = 0; | 196 | int err = 0; |
188 | 197 | ||
189 | nvgpu_init_vars(g); | 198 | nvgpu_init_vars(g); |
199 | nvgpu_init_gr_vars(g); | ||
190 | nvgpu_init_timeout(g); | 200 | nvgpu_init_timeout(g); |
191 | nvgpu_init_timeslice(g); | 201 | nvgpu_init_timeslice(g); |
192 | nvgpu_init_pm_vars(g); | 202 | nvgpu_init_pm_vars(g); |