diff options
author | Seema Khowala <seemaj@nvidia.com> | 2017-06-21 19:28:19 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-07-05 06:06:57 -0400 |
commit | f5b5099cf87a8d3219301c97189d581cafeaac4e (patch) | |
tree | f180724b754492ddc282ac1b411940ccf0628225 /drivers/gpu/nvgpu | |
parent | 8fb191aec01d0b4c83fbfe12310ed7827d87a873 (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')
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/gr_gv11b.c | 17 |
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 | ||
2980 | static 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 | |||
2980 | void gv11b_init_gr(struct gpu_ops *gops) | 2996 | void 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 | } |