summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gv11b/gr_gv11b.c
diff options
context:
space:
mode:
authorSeema Khowala <seemaj@nvidia.com>2017-05-19 17:01:26 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-06-06 20:38:06 -0400
commit3e22195974ef233e12f69c5769d42b322f5adc1e (patch)
tree39f35ad30ea0521bb9b1cfe017028168e1951a04 /drivers/gpu/nvgpu/gv11b/gr_gv11b.c
parentfa0cf69d0f8fe7275debef7b3fc87c9225f71f0b (diff)
gpu: nvgpu: gv11b: update init_fs_state gr ops
GPUT19X-70 Change-Id: Ifc6c52ac15108d1389fcd732218abf46b6167485 Signed-off-by: Seema Khowala <seemaj@nvidia.com> Reviewed-on: http://git-master/r/1486177 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gv11b/gr_gv11b.c')
-rw-r--r--drivers/gpu/nvgpu/gv11b/gr_gv11b.c28
1 files changed, 24 insertions, 4 deletions
diff --git a/drivers/gpu/nvgpu/gv11b/gr_gv11b.c b/drivers/gpu/nvgpu/gv11b/gr_gv11b.c
index 701b840a..503fb6f7 100644
--- a/drivers/gpu/nvgpu/gv11b/gr_gv11b.c
+++ b/drivers/gpu/nvgpu/gv11b/gr_gv11b.c
@@ -1501,10 +1501,6 @@ static void gr_gv11b_commit_global_attrib_cb(struct gk20a *g,
1501 gr_gpcs_tpcs_tex_rm_cb_1_valid_true_f(), patch); 1501 gr_gpcs_tpcs_tex_rm_cb_1_valid_true_f(), patch);
1502} 1502}
1503 1503
1504static int gr_gv11b_init_fs_state(struct gk20a *g)
1505{
1506 return gr_gp10b_init_fs_state(g);
1507}
1508 1504
1509static void gr_gv11b_init_cyclestats(struct gk20a *g) 1505static void gr_gv11b_init_cyclestats(struct gk20a *g)
1510{ 1506{
@@ -2458,6 +2454,30 @@ static void gr_gv11b_write_preemption_ptr(struct gk20a *g,
2458 2454
2459} 2455}
2460 2456
2457static int gr_gv11b_init_fs_state(struct gk20a *g)
2458{
2459 u32 data;
2460
2461 gk20a_dbg_fn("");
2462
2463 data = gk20a_readl(g, gr_gpcs_tpcs_sm_texio_control_r());
2464 data = set_field(data, gr_gpcs_tpcs_sm_texio_control_oor_addr_check_mode_m(),
2465 gr_gpcs_tpcs_sm_texio_control_oor_addr_check_mode_arm_63_48_match_f());
2466 gk20a_writel(g, gr_gpcs_tpcs_sm_texio_control_r(), data);
2467
2468 data = gk20a_readl(g, gr_gpcs_tpcs_sm_disp_ctrl_r());
2469 data = set_field(data, gr_gpcs_tpcs_sm_disp_ctrl_re_suppress_m(),
2470 gr_gpcs_tpcs_sm_disp_ctrl_re_suppress_disable_f());
2471 gk20a_writel(g, gr_gpcs_tpcs_sm_disp_ctrl_r(), data);
2472
2473 if (g->gr.t18x.fecs_feature_override_ecc_val != 0) {
2474 gk20a_writel(g,
2475 gr_fecs_feature_override_ecc_r(),
2476 g->gr.t18x.fecs_feature_override_ecc_val);
2477 }
2478
2479 return gr_gm20b_init_fs_state(g);
2480}
2461 2481
2462void gv11b_init_gr(struct gpu_ops *gops) 2482void gv11b_init_gr(struct gpu_ops *gops)
2463{ 2483{