summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu')
-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{