summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gv11b/gr_gv11b.c
diff options
context:
space:
mode:
authorSeema Khowala <seemaj@nvidia.com>2017-06-21 19:28:19 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-07-05 06:06:57 -0400
commitf5b5099cf87a8d3219301c97189d581cafeaac4e (patch)
treef180724b754492ddc282ac1b411940ccf0628225 /drivers/gpu/nvgpu/gv11b/gr_gv11b.c
parent8fb191aec01d0b4c83fbfe12310ed7827d87a873 (diff)
gpu: nvgpu: gv11b: init resume_from_pause gr ops
JIRA GPUT19X-75 Change-Id: Ie741bf50c771f21de3bf762ca506a36276f38437 Signed-off-by: Seema Khowala <seemaj@nvidia.com> Reviewed-on: https://git-master/r/1512211 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gv11b/gr_gv11b.c')
-rw-r--r--drivers/gpu/nvgpu/gv11b/gr_gv11b.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gv11b/gr_gv11b.c b/drivers/gpu/nvgpu/gv11b/gr_gv11b.c
index 0f331293..8094ea43 100644
--- a/drivers/gpu/nvgpu/gv11b/gr_gv11b.c
+++ b/drivers/gpu/nvgpu/gv11b/gr_gv11b.c
@@ -2977,6 +2977,22 @@ static void gv11b_gr_resume_all_sms(struct gk20a *g)
2977 dbgr_control0, dbgr_status0); 2977 dbgr_control0, dbgr_status0);
2978} 2978}
2979 2979
2980static int gv11b_gr_resume_from_pause(struct gk20a *g)
2981{
2982 int err = 0;
2983
2984 /* Clear the pause mask to tell the GPU we want to resume everyone */
2985 gk20a_writel(g, gr_gpcs_tpcs_sms_dbgr_bpt_pause_mask_0_r(), 0);
2986
2987 /* explicitly re-enable forwarding of SM interrupts upon any resume */
2988 gk20a_writel(g, gr_gpcs_tpcs_tpccs_tpc_exception_en_r(),
2989 gr_gpcs_tpcs_tpccs_tpc_exception_en_sm_enabled_f());
2990
2991 g->ops.gr.resume_all_sms(g);
2992
2993 return err;
2994}
2995
2980void gv11b_init_gr(struct gpu_ops *gops) 2996void gv11b_init_gr(struct gpu_ops *gops)
2981{ 2997{
2982 gp10b_init_gr(gops); 2998 gp10b_init_gr(gops);
@@ -3050,4 +3066,5 @@ void gv11b_init_gr(struct gpu_ops *gops)
3050 gops->gr.suspend_all_sms = gv11b_gr_suspend_all_sms; 3066 gops->gr.suspend_all_sms = gv11b_gr_suspend_all_sms;
3051 gops->gr.resume_single_sm = gv11b_gr_resume_single_sm; 3067 gops->gr.resume_single_sm = gv11b_gr_resume_single_sm;
3052 gops->gr.resume_all_sms = gv11b_gr_resume_all_sms; 3068 gops->gr.resume_all_sms = gv11b_gr_resume_all_sms;
3069 gops->gr.resume_from_pause = gv11b_gr_resume_from_pause;
3053} 3070}