summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/common/linux/driver_common.c
diff options
context:
space:
mode:
authorDeepak Nibade <dnibade@nvidia.com>2017-11-28 05:26:31 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2017-11-28 12:10:10 -0500
commit87f42744e0821d54eff7bf0bb863c7e53063e5c1 (patch)
treedc63ad1843181b11580668708e9493ef06838be9 /drivers/gpu/nvgpu/common/linux/driver_common.c
parent4f8ba3ad0e2bdca3695bf1028cedd58eb87d6d51 (diff)
gpu: nvgpu: initialize gr->max_comptag_mem in linux
We initialize gr->max_comptag_mem in common code and with a global variable declared in <linux/mm.h> Move this linux specific dependency to linux specific files i.e. initialize gr->max_comptag_mem during linux specific probe functions Jira NVGPU-414 Change-Id: I9415938bf1288b24950ba7ecc71abee3162dae64 Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1606195 Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/common/linux/driver_common.c')
-rw-r--r--drivers/gpu/nvgpu/common/linux/driver_common.c12
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
77static 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
77static void nvgpu_init_timeout(struct gk20a *g) 86static 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);