diff options
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/gr_gv11b.c | 16 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/ltc_gv11b.c | 4 |
2 files changed, 15 insertions, 5 deletions
diff --git a/drivers/gpu/nvgpu/gv11b/gr_gv11b.c b/drivers/gpu/nvgpu/gv11b/gr_gv11b.c index 8514cc1e..8d8f56f6 100644 --- a/drivers/gpu/nvgpu/gv11b/gr_gv11b.c +++ b/drivers/gpu/nvgpu/gv11b/gr_gv11b.c | |||
@@ -2382,6 +2382,7 @@ void gr_gv11b_set_preemption_buffer_va(struct gk20a *g, | |||
2382 | int gr_gv11b_init_fs_state(struct gk20a *g) | 2382 | int gr_gv11b_init_fs_state(struct gk20a *g) |
2383 | { | 2383 | { |
2384 | u32 data; | 2384 | u32 data; |
2385 | int err; | ||
2385 | 2386 | ||
2386 | gk20a_dbg_fn(""); | 2387 | gk20a_dbg_fn(""); |
2387 | 2388 | ||
@@ -2401,7 +2402,20 @@ int gr_gv11b_init_fs_state(struct gk20a *g) | |||
2401 | g->gr.fecs_feature_override_ecc_val); | 2402 | g->gr.fecs_feature_override_ecc_val); |
2402 | } | 2403 | } |
2403 | 2404 | ||
2404 | return gr_gm20b_init_fs_state(g); | 2405 | err = gr_gk20a_init_fs_state(g); |
2406 | if (err) | ||
2407 | return err; | ||
2408 | |||
2409 | g->ops.gr.load_tpc_mask(g); | ||
2410 | |||
2411 | gk20a_writel(g, gr_bes_zrop_settings_r(), | ||
2412 | gr_bes_zrop_settings_num_active_ltcs_f(g->ltc_count)); | ||
2413 | gk20a_writel(g, gr_bes_crop_settings_r(), | ||
2414 | gr_bes_crop_settings_num_active_ltcs_f(g->ltc_count)); | ||
2415 | |||
2416 | g->ops.gr.load_smid_config(g); | ||
2417 | |||
2418 | return err; | ||
2405 | } | 2419 | } |
2406 | 2420 | ||
2407 | void gv11b_gr_get_esr_sm_sel(struct gk20a *g, u32 gpc, u32 tpc, | 2421 | void gv11b_gr_get_esr_sm_sel(struct gk20a *g, u32 gpc, u32 tpc, |
diff --git a/drivers/gpu/nvgpu/gv11b/ltc_gv11b.c b/drivers/gpu/nvgpu/gv11b/ltc_gv11b.c index a199e024..8661b420 100644 --- a/drivers/gpu/nvgpu/gv11b/ltc_gv11b.c +++ b/drivers/gpu/nvgpu/gv11b/ltc_gv11b.c | |||
@@ -69,10 +69,6 @@ void gv11b_ltc_init_fs_state(struct gk20a *g) | |||
69 | g->ltc_count = gk20a_readl(g, pri_ringmaster_enum_ltc_r()); | 69 | g->ltc_count = gk20a_readl(g, pri_ringmaster_enum_ltc_r()); |
70 | gk20a_dbg_info("%u ltcs out of %u", g->ltc_count, g->max_ltc_count); | 70 | gk20a_dbg_info("%u ltcs out of %u", g->ltc_count, g->max_ltc_count); |
71 | 71 | ||
72 | gk20a_writel(g, ltc_ltcs_ltss_dstg_cfg0_r(), | ||
73 | gk20a_readl(g, ltc_ltc0_lts0_dstg_cfg0_r()) | | ||
74 | ltc_ltcs_ltss_dstg_cfg0_vdc_4to2_disable_m()); | ||
75 | |||
76 | /* Disable LTC interrupts */ | 72 | /* Disable LTC interrupts */ |
77 | reg = gk20a_readl(g, ltc_ltcs_ltss_intr_r()); | 73 | reg = gk20a_readl(g, ltc_ltcs_ltss_intr_r()); |
78 | reg &= ~ltc_ltcs_ltss_intr_en_evicted_cb_m(); | 74 | reg &= ~ltc_ltcs_ltss_intr_en_evicted_cb_m(); |