summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/nvgpu/os/linux/driver_common.c9
-rw-r--r--drivers/gpu/nvgpu/os/linux/platform_gk20a.h6
2 files changed, 15 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/os/linux/driver_common.c b/drivers/gpu/nvgpu/os/linux/driver_common.c
index f1eccd06..16af2cb0 100644
--- a/drivers/gpu/nvgpu/os/linux/driver_common.c
+++ b/drivers/gpu/nvgpu/os/linux/driver_common.c
@@ -93,11 +93,20 @@ static void nvgpu_init_vars(struct gk20a *g)
93 93
94static void nvgpu_init_gr_vars(struct gk20a *g) 94static void nvgpu_init_gr_vars(struct gk20a *g)
95{ 95{
96 struct gk20a_platform *platform = dev_get_drvdata(dev_from_gk20a(g));
96 gk20a_init_gr(g); 97 gk20a_init_gr(g);
97 98
98 nvgpu_log_info(g, "total ram pages : %lu", totalram_pages); 99 nvgpu_log_info(g, "total ram pages : %lu", totalram_pages);
99 g->gr.max_comptag_mem = totalram_pages 100 g->gr.max_comptag_mem = totalram_pages
100 >> (10 - (PAGE_SHIFT - 10)); 101 >> (10 - (PAGE_SHIFT - 10));
102
103 /* Deduct the part taken by the running system */
104 if (platform->comptag_mem_deduct &&
105 g->gr.max_comptag_mem > platform->comptag_mem_deduct) {
106 g->gr.max_comptag_mem -= platform->comptag_mem_deduct;
107 nvgpu_log_info(g, "deducted max memory for comptag: %u",
108 g->gr.max_comptag_mem);
109 }
101} 110}
102 111
103static void nvgpu_init_timeout(struct gk20a *g) 112static void nvgpu_init_timeout(struct gk20a *g)
diff --git a/drivers/gpu/nvgpu/os/linux/platform_gk20a.h b/drivers/gpu/nvgpu/os/linux/platform_gk20a.h
index f3e80b8c..5848a5ef 100644
--- a/drivers/gpu/nvgpu/os/linux/platform_gk20a.h
+++ b/drivers/gpu/nvgpu/os/linux/platform_gk20a.h
@@ -272,6 +272,12 @@ struct gk20a_platform {
272 /* stream id to use */ 272 /* stream id to use */
273 u32 ltc_streamid; 273 u32 ltc_streamid;
274 274
275 /*
276 * The deductible memory size for max_comptag_mem (in MBytes)
277 * Usually close to memory size that running system is taking
278 */
279 u32 comptag_mem_deduct;
280
275 /* scaling rate */ 281 /* scaling rate */
276 unsigned long cached_rate; 282 unsigned long cached_rate;
277}; 283};