diff options
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r-- | drivers/gpu/nvgpu/os/linux/ioctl_ctrl.c | 12 |
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 | ||