diff options
author | Anup Mahindre <amahindre@nvidia.com> | 2018-08-16 00:50:15 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-08-17 21:49:36 -0400 |
commit | f5f1875b2a48f3cb57ac41d0cf93f5951a28ea3b (patch) | |
tree | bfea95d2c304b963c40b8bc7a790326b4dcfc7c7 /drivers/gpu/nvgpu/gk20a | |
parent | b15624b39b9b19ba139776e2a917bcd4e361c01e (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')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.h | 1 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_gk20a.c | 45 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_gk20a.h | 1 |
3 files changed, 0 insertions, 47 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index f802cd56..1fe0cb5d 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h | |||
@@ -437,7 +437,6 @@ struct gpu_ops { | |||
437 | void (*set_preemption_buffer_va)(struct gk20a *g, | 437 | void (*set_preemption_buffer_va)(struct gk20a *g, |
438 | struct nvgpu_mem *mem, u64 gpu_va); | 438 | struct nvgpu_mem *mem, u64 gpu_va); |
439 | void (*load_tpc_mask)(struct gk20a *g); | 439 | void (*load_tpc_mask)(struct gk20a *g); |
440 | int (*inval_icache)(struct gk20a *g, struct channel_gk20a *ch); | ||
441 | int (*trigger_suspend)(struct gk20a *g); | 440 | int (*trigger_suspend)(struct gk20a *g); |
442 | int (*wait_for_pause)(struct gk20a *g, struct nvgpu_warpstate *w_state); | 441 | int (*wait_for_pause)(struct gk20a *g, struct nvgpu_warpstate *w_state); |
443 | int (*resume_from_pause)(struct gk20a *g); | 442 | int (*resume_from_pause)(struct gk20a *g); |
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 | ||
8552 | int 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 | |||
8597 | int gr_gk20a_trigger_suspend(struct gk20a *g) | 8552 | int gr_gk20a_trigger_suspend(struct gk20a *g) |
8598 | { | 8553 | { |
8599 | int err = 0; | 8554 | int err = 0; |
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.h b/drivers/gpu/nvgpu/gk20a/gr_gk20a.h index 9c9a3caa..a60f6f12 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.h | |||
@@ -775,7 +775,6 @@ int gr_gk20a_resume_contexts(struct gk20a *g, | |||
775 | int *ctx_resident_ch_fd); | 775 | int *ctx_resident_ch_fd); |
776 | void gk20a_gr_enable_gpc_exceptions(struct gk20a *g); | 776 | void gk20a_gr_enable_gpc_exceptions(struct gk20a *g); |
777 | void gk20a_gr_enable_exceptions(struct gk20a *g); | 777 | void gk20a_gr_enable_exceptions(struct gk20a *g); |
778 | int gr_gk20a_inval_icache(struct gk20a *g, struct channel_gk20a *ch); | ||
779 | int gr_gk20a_trigger_suspend(struct gk20a *g); | 778 | int gr_gk20a_trigger_suspend(struct gk20a *g); |
780 | int gr_gk20a_wait_for_pause(struct gk20a *g, struct nvgpu_warpstate *w_state); | 779 | int gr_gk20a_wait_for_pause(struct gk20a *g, struct nvgpu_warpstate *w_state); |
781 | int gr_gk20a_resume_from_pause(struct gk20a *g); | 780 | int gr_gk20a_resume_from_pause(struct gk20a *g); |