summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gp10b/gr_gp10b.c
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2015-09-21 14:10:30 -0400
committerDeepak Nibade <dnibade@nvidia.com>2016-12-27 04:52:08 -0500
commitd1331bd07d9e9b9c6432ec9406db29e197eabd8a (patch)
tree4d98de76cb79032f30227589eb1e8e4c12b417ed /drivers/gpu/nvgpu/gp10b/gr_gp10b.c
parentc9da53da4e595271fc6a9639cf1907d84061e356 (diff)
gpu: nvgpu: gp10b: Implement SetCoalesceBufferSize
Implement method for setting the coalesce buffer size at runtime. Bug 1681992 Change-Id: Ice6c00a27f642c2d68d6cd0e30c12df2e48f5374 Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-on: http://git-master/r/802366 (cherry picked from commit bd763bc8a16b80ccc8f79b2229eccf2fe2417611) Reviewed-on: http://git-master/r/808239 GVS: Gerrit_Virtual_Submit
Diffstat (limited to 'drivers/gpu/nvgpu/gp10b/gr_gp10b.c')
-rw-r--r--drivers/gpu/nvgpu/gp10b/gr_gp10b.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gp10b/gr_gp10b.c b/drivers/gpu/nvgpu/gp10b/gr_gp10b.c
index c339b14d..1a50d29a 100644
--- a/drivers/gpu/nvgpu/gp10b/gr_gp10b.c
+++ b/drivers/gpu/nvgpu/gp10b/gr_gp10b.c
@@ -290,6 +290,20 @@ static void gr_gp10b_set_go_idle_timeout(struct gk20a *g, u32 data)
290 gk20a_writel(g, gr_fe_go_idle_timeout_r(), data); 290 gk20a_writel(g, gr_fe_go_idle_timeout_r(), data);
291} 291}
292 292
293static void gr_gp10b_set_coalesce_buffer_size(struct gk20a *g, u32 data)
294{
295 u32 val;
296
297 gk20a_dbg_fn("");
298
299 val = gk20a_readl(g, gr_gpcs_tc_debug0_r());
300 val = set_field(val, gr_gpcs_tc_debug0_limit_coalesce_buffer_size_m(),
301 gr_gpcs_tc_debug0_limit_coalesce_buffer_size_f(data));
302 gk20a_writel(g, gr_gpcs_tc_debug0_r(), val);
303
304 gk20a_dbg_fn("done");
305}
306
293static int gr_gp10b_handle_sw_method(struct gk20a *g, u32 addr, 307static int gr_gp10b_handle_sw_method(struct gk20a *g, u32 addr,
294 u32 class_num, u32 offset, u32 data) 308 u32 class_num, u32 offset, u32 data)
295{ 309{
@@ -319,6 +333,9 @@ static int gr_gp10b_handle_sw_method(struct gk20a *g, u32 addr,
319 case NVC097_SET_GO_IDLE_TIMEOUT: 333 case NVC097_SET_GO_IDLE_TIMEOUT:
320 gr_gp10b_set_go_idle_timeout(g, data); 334 gr_gp10b_set_go_idle_timeout(g, data);
321 break; 335 break;
336 case NVC097_SET_COALESCE_BUFFER_SIZE:
337 gr_gp10b_set_coalesce_buffer_size(g, data);
338 break;
322 default: 339 default:
323 goto fail; 340 goto fail;
324 } 341 }