summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/os/linux/ioctl_dbg.c
diff options
context:
space:
mode:
authorAnup Mahindre <amahindre@nvidia.com>2018-09-05 00:32:35 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2018-09-19 18:53:56 -0400
commit7e591dced99f328f4960702dbb6235fe7dc7f6b5 (patch)
tree083e4c74b511c1fa6f785221c02e8cf8efe6ea52 /drivers/gpu/nvgpu/os/linux/ioctl_dbg.c
parenta77bce7193dbd877d00a8bd69e2964db42419a8d (diff)
gpu: nvgpu: Remove NVGPU_DBG_GPU_IOCTL_WRITE_SINGLE_SM_ERROR_STATE API
Remove the API as it has no use cases. Bug 200445906 Change-Id: Ia2803bd05d78853963011a67091b34ba5bdb3732 Signed-off-by: Anup Mahindre <amahindre@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1817629 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/os/linux/ioctl_dbg.c')
-rw-r--r--drivers/gpu/nvgpu/os/linux/ioctl_dbg.c77
1 files changed, 0 insertions, 77 deletions
diff --git a/drivers/gpu/nvgpu/os/linux/ioctl_dbg.c b/drivers/gpu/nvgpu/os/linux/ioctl_dbg.c
index 1eace94b..953b7168 100644
--- a/drivers/gpu/nvgpu/os/linux/ioctl_dbg.c
+++ b/drivers/gpu/nvgpu/os/linux/ioctl_dbg.c
@@ -260,78 +260,6 @@ static int nvgpu_dbg_gpu_ioctl_timeout(struct dbg_session_gk20a *dbg_s,
260 return err; 260 return err;
261} 261}
262 262
263static int nvgpu_dbg_gpu_ioctl_write_single_sm_error_state(
264 struct dbg_session_gk20a *dbg_s,
265 struct nvgpu_dbg_gpu_write_single_sm_error_state_args *args)
266{
267 struct gk20a *g = dbg_s->g;
268 struct gr_gk20a *gr = &g->gr;
269 u32 sm_id;
270 struct channel_gk20a *ch;
271 struct nvgpu_dbg_gpu_sm_error_state_record sm_error_state_record;
272 struct nvgpu_tsg_sm_error_state sm_error_state;
273 int err = 0;
274
275 /* Not currently supported in the virtual case */
276 if (g->is_virtual) {
277 return -ENOSYS;
278 }
279
280 ch = nvgpu_dbg_gpu_get_session_channel(dbg_s);
281 if (ch == NULL) {
282 return -EINVAL;
283 }
284
285 sm_id = args->sm_id;
286 if (sm_id >= gr->no_of_sm) {
287 return -EINVAL;
288 }
289
290 nvgpu_speculation_barrier();
291
292 if (args->sm_error_state_record_size > 0) {
293 size_t read_size = sizeof(sm_error_state_record);
294
295 if (read_size > args->sm_error_state_record_size)
296 read_size = args->sm_error_state_record_size;
297
298 nvgpu_mutex_acquire(&g->dbg_sessions_lock);
299 err = copy_from_user(&sm_error_state_record,
300 (void __user *)(uintptr_t)
301 args->sm_error_state_record_mem,
302 read_size);
303 nvgpu_mutex_release(&g->dbg_sessions_lock);
304 if (err != 0) {
305 return -ENOMEM;
306 }
307 }
308
309 err = gk20a_busy(g);
310 if (err != 0) {
311 return err;
312 }
313
314 sm_error_state.hww_global_esr =
315 sm_error_state_record.hww_global_esr;
316 sm_error_state.hww_warp_esr =
317 sm_error_state_record.hww_warp_esr;
318 sm_error_state.hww_warp_esr_pc =
319 sm_error_state_record.hww_warp_esr_pc;
320 sm_error_state.hww_global_esr_report_mask =
321 sm_error_state_record.hww_global_esr_report_mask;
322 sm_error_state.hww_warp_esr_report_mask =
323 sm_error_state_record.hww_warp_esr_report_mask;
324
325 err = gr_gk20a_elpg_protected_call(g,
326 g->ops.gr.update_sm_error_state(g, ch,
327 sm_id, &sm_error_state));
328
329 gk20a_idle(g);
330
331 return err;
332}
333
334
335static int nvgpu_dbg_gpu_ioctl_read_single_sm_error_state( 263static int nvgpu_dbg_gpu_ioctl_read_single_sm_error_state(
336 struct dbg_session_gk20a *dbg_s, 264 struct dbg_session_gk20a *dbg_s,
337 struct nvgpu_dbg_gpu_read_single_sm_error_state_args *args) 265 struct nvgpu_dbg_gpu_read_single_sm_error_state_args *args)
@@ -2066,11 +1994,6 @@ long gk20a_dbg_gpu_dev_ioctl(struct file *filp, unsigned int cmd,
2066 (struct nvgpu_dbg_gpu_clear_single_sm_error_state_args *)buf); 1994 (struct nvgpu_dbg_gpu_clear_single_sm_error_state_args *)buf);
2067 break; 1995 break;
2068 1996
2069 case NVGPU_DBG_GPU_IOCTL_WRITE_SINGLE_SM_ERROR_STATE:
2070 err = nvgpu_dbg_gpu_ioctl_write_single_sm_error_state(dbg_s,
2071 (struct nvgpu_dbg_gpu_write_single_sm_error_state_args *)buf);
2072 break;
2073
2074 case NVGPU_DBG_GPU_IOCTL_UNBIND_CHANNEL: 1997 case NVGPU_DBG_GPU_IOCTL_UNBIND_CHANNEL:
2075 err = dbg_unbind_channel_gk20a(dbg_s, 1998 err = dbg_unbind_channel_gk20a(dbg_s,
2076 (struct nvgpu_dbg_gpu_unbind_channel_args *)buf); 1999 (struct nvgpu_dbg_gpu_unbind_channel_args *)buf);