summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/nvgpu/os/linux/ioctl_ctrl.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/gpu/nvgpu/os/linux/ioctl_ctrl.c b/drivers/gpu/nvgpu/os/linux/ioctl_ctrl.c
index 8ad304bd..6fa15421 100644
--- a/drivers/gpu/nvgpu/os/linux/ioctl_ctrl.c
+++ b/drivers/gpu/nvgpu/os/linux/ioctl_ctrl.c
@@ -660,7 +660,8 @@ static int nvgpu_gpu_ioctl_trigger_suspend(struct gk20a *g)
660 return err; 660 return err;
661 661
662 nvgpu_mutex_acquire(&g->dbg_sessions_lock); 662 nvgpu_mutex_acquire(&g->dbg_sessions_lock);
663 err = g->ops.gr.trigger_suspend(g); 663 err = gr_gk20a_elpg_protected_call(g,
664 g->ops.gr.trigger_suspend(g));
664 nvgpu_mutex_release(&g->dbg_sessions_lock); 665 nvgpu_mutex_release(&g->dbg_sessions_lock);
665 666
666 gk20a_idle(g); 667 gk20a_idle(g);
@@ -695,7 +696,8 @@ static int nvgpu_gpu_ioctl_wait_for_pause(struct gk20a *g,
695 goto out_free; 696 goto out_free;
696 697
697 nvgpu_mutex_acquire(&g->dbg_sessions_lock); 698 nvgpu_mutex_acquire(&g->dbg_sessions_lock);
698 g->ops.gr.wait_for_pause(g, w_state); 699 (void)gr_gk20a_elpg_protected_call(g,
700 g->ops.gr.wait_for_pause(g, w_state));
699 701
700 for (sm_id = 0; sm_id < g->gr.no_of_sm; sm_id++) { 702 for (sm_id = 0; sm_id < g->gr.no_of_sm; sm_id++) {
701 ioctl_w_state[sm_id].valid_warps[0] = 703 ioctl_w_state[sm_id].valid_warps[0] =
@@ -738,7 +740,8 @@ static int nvgpu_gpu_ioctl_resume_from_pause(struct gk20a *g)
738 return err; 740 return err;
739 741
740 nvgpu_mutex_acquire(&g->dbg_sessions_lock); 742 nvgpu_mutex_acquire(&g->dbg_sessions_lock);
741 err = g->ops.gr.resume_from_pause(g); 743 err = gr_gk20a_elpg_protected_call(g,
744 g->ops.gr.resume_from_pause(g));
742 nvgpu_mutex_release(&g->dbg_sessions_lock); 745 nvgpu_mutex_release(&g->dbg_sessions_lock);
743 746
744 gk20a_idle(g); 747 gk20a_idle(g);
@@ -754,7 +757,8 @@ static int nvgpu_gpu_ioctl_clear_sm_errors(struct gk20a *g)
754 if (err) 757 if (err)
755 return err; 758 return err;
756 759
757 err = g->ops.gr.clear_sm_errors(g); 760 err = gr_gk20a_elpg_protected_call(g,
761 g->ops.gr.clear_sm_errors(g));
758 762
759 gk20a_idle(g); 763 gk20a_idle(g);
760 764