From d20afe7bd4a5cf74c7dfab6b9735604ba506215e Mon Sep 17 00:00:00 2001 From: Terje Bergstrom Date: Mon, 20 Apr 2015 10:31:09 -0700 Subject: gpu: nvgpu: Dynamic betacb size Allow querying and setting default betacb size via debugfs. For global buffers the value takes effect upon first boot of GPU, and has no effect after that. Bug 1628352 Change-Id: Ib63f4299249c41eab1b36cc501b525cc54211195 Signed-off-by: Terje Bergstrom Reviewed-on: http://git-master/r/733328 --- drivers/gpu/nvgpu/gk20a/gr_gk20a.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'drivers/gpu/nvgpu/gk20a/gr_gk20a.c') diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c index d0c5da0e..78f81513 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c @@ -21,6 +21,7 @@ #include /* for totalram_pages */ #include #include +#include #include #include #include @@ -54,6 +55,7 @@ #include "dbg_gpu_gk20a.h" #include "debug_gk20a.h" #include "semaphore_gk20a.h" +#include "platform_gk20a.h" #define BLK_SIZE (256) @@ -6909,8 +6911,9 @@ static void gr_gk20a_cb_size_default(struct gk20a *g) { struct gr_gk20a *gr = &g->gr; - gr->attrib_cb_default_size = - gr_gpc0_ppc0_cbm_cfg_size_default_v(); + if (!gr->attrib_cb_default_size) + gr->attrib_cb_default_size = + gr_gpc0_ppc0_cbm_cfg_size_default_v(); gr->alpha_cb_default_size = gr_gpc0_ppc0_cbm_cfg2_size_default_v(); } @@ -7267,6 +7270,18 @@ static int gr_gk20a_dump_gr_status_regs(struct gk20a *g, return 0; } +int gr_gk20a_debugfs_init(struct gk20a *g) +{ + struct gk20a_platform *platform = platform_get_drvdata(g->dev); + + g->debugfs_gr_default_attrib_cb_size = + debugfs_create_u32("gr_default_attrib_cb_size", + S_IRUGO|S_IWUSR, platform->debugfs, + &g->gr.attrib_cb_default_size); + + return 0; +} + void gk20a_init_gr_ops(struct gpu_ops *gops) { gops->gr.access_smpc_reg = gr_gk20a_access_smpc_reg; -- cgit v1.2.2