summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gr_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gr_gk20a.c45
1 files changed, 0 insertions, 45 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
index fbba02ca..90643971 100644
--- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
@@ -8549,51 +8549,6 @@ clean_up:
8549 return err; 8549 return err;
8550} 8550}
8551 8551
8552int gr_gk20a_inval_icache(struct gk20a *g, struct channel_gk20a *ch)
8553{
8554 int err = 0;
8555 u32 cache_ctrl, regval;
8556 struct nvgpu_dbg_reg_op ops;
8557
8558 ops.op = REGOP(READ_32);
8559 ops.type = REGOP(TYPE_GR_CTX);
8560 ops.status = REGOP(STATUS_SUCCESS);
8561 ops.value_hi = 0;
8562 ops.and_n_mask_lo = 0;
8563 ops.and_n_mask_hi = 0;
8564 ops.offset = gr_pri_gpc0_gcc_dbg_r();
8565
8566 err = gr_gk20a_exec_ctx_ops(ch, &ops, 1, 0, 1);
8567 if (err) {
8568 nvgpu_err(g, "Failed to read register");
8569 return err;
8570 }
8571
8572 regval = ops.value_lo;
8573
8574 ops.op = REGOP(WRITE_32);
8575 ops.value_lo = set_field(regval, gr_pri_gpcs_gcc_dbg_invalidate_m(), 1);
8576 err = gr_gk20a_exec_ctx_ops(ch, &ops, 1, 1, 0);
8577 if (err) {
8578 nvgpu_err(g, "Failed to write register");
8579 return err;
8580 }
8581
8582 ops.op = REGOP(READ_32);
8583 ops.offset = gr_pri_gpc0_tpc0_sm_cache_control_r();
8584 err = gr_gk20a_exec_ctx_ops(ch, &ops, 1, 0, 1);
8585 if (err) {
8586 nvgpu_err(g, "Failed to read register");
8587 return err;
8588 }
8589
8590 cache_ctrl = gk20a_readl(g, gr_pri_gpc0_tpc0_sm_cache_control_r());
8591 cache_ctrl = set_field(cache_ctrl, gr_pri_gpcs_tpcs_sm_cache_control_invalidate_cache_m(), 1);
8592 gk20a_writel(g, gr_pri_gpc0_tpc0_sm_cache_control_r(), cache_ctrl);
8593
8594 return 0;
8595}
8596
8597int gr_gk20a_trigger_suspend(struct gk20a *g) 8552int gr_gk20a_trigger_suspend(struct gk20a *g)
8598{ 8553{
8599 int err = 0; 8554 int err = 0;