diff options
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/driver_common.c | 12 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/vgpu/vgpu.c | 5 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_gk20a.c | 3 |
3 files changed, 16 insertions, 4 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); |
diff --git a/drivers/gpu/nvgpu/common/linux/vgpu/vgpu.c b/drivers/gpu/nvgpu/common/linux/vgpu/vgpu.c index 10c2211e..f6c13db1 100644 --- a/drivers/gpu/nvgpu/common/linux/vgpu/vgpu.c +++ b/drivers/gpu/nvgpu/common/linux/vgpu/vgpu.c | |||
@@ -16,6 +16,7 @@ | |||
16 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | 16 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
17 | */ | 17 | */ |
18 | 18 | ||
19 | #include <linux/mm.h> | ||
19 | #include <linux/delay.h> | 20 | #include <linux/delay.h> |
20 | #include <linux/dma-mapping.h> | 21 | #include <linux/dma-mapping.h> |
21 | #include <linux/pm_runtime.h> | 22 | #include <linux/pm_runtime.h> |
@@ -756,6 +757,10 @@ int vgpu_probe(struct platform_device *pdev) | |||
756 | vgpu_create_sysfs(dev); | 757 | vgpu_create_sysfs(dev); |
757 | gk20a_init_gr(gk20a); | 758 | gk20a_init_gr(gk20a); |
758 | 759 | ||
760 | gk20a_dbg_info("total ram pages : %lu", totalram_pages); | ||
761 | gk20a->gr.max_comptag_mem = totalram_pages | ||
762 | >> (10 - (PAGE_SHIFT - 10)); | ||
763 | |||
759 | nvgpu_ref_init(&gk20a->refcount); | 764 | nvgpu_ref_init(&gk20a->refcount); |
760 | 765 | ||
761 | return 0; | 766 | return 0; |
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c index b3969b60..8a6db92c 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c | |||
@@ -4820,9 +4820,6 @@ static int gk20a_init_gr_setup_sw(struct gk20a *g) | |||
4820 | if (err) | 4820 | if (err) |
4821 | goto clean_up; | 4821 | goto clean_up; |
4822 | 4822 | ||
4823 | gk20a_dbg_info("total ram pages : %lu", totalram_pages); | ||
4824 | gr->max_comptag_mem = totalram_pages | ||
4825 | >> (10 - (PAGE_SHIFT - 10)); | ||
4826 | err = g->ops.ltc.init_comptags(g, gr); | 4823 | err = g->ops.ltc.init_comptags(g, gr); |
4827 | if (err) | 4824 | if (err) |
4828 | goto clean_up; | 4825 | goto clean_up; |