summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gr_gk20a.c
diff options
context:
space:
mode:
authorAnup Mahindre <amahindre@nvidia.com>2018-08-16 00:50:15 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2018-08-17 21:49:36 -0400
commitf5f1875b2a48f3cb57ac41d0cf93f5951a28ea3b (patch)
treebfea95d2c304b963c40b8bc7a790326b4dcfc7c7 /drivers/gpu/nvgpu/gk20a/gr_gk20a.c
parentb15624b39b9b19ba139776e2a917bcd4e361c01e (diff)
gpu: nvgpu: Deprecate NVGPU_GPU_IOCTL_INVAL_ICACHE
Deprecate NVGPU_GPU_IOCTL_INVAL_ICACHE as it is unused and has a broken implementation. Bug 200439908 Change-Id: Iab6f08cf3dd4853ba6c95cbc8443331bf505e514 Signed-off-by: Anup Mahindre <amahindre@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1800797 GVS: Gerrit_Virtual_Submit Reviewed-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-by: Richard Zhao <rizhao@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
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;