diff options
Diffstat (limited to 'drivers/gpu')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_gk20a.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c index c935809e..80dca77a 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c | |||
@@ -8398,14 +8398,16 @@ int gr_gk20a_wait_for_pause(struct gk20a *g, struct warpstate *w_state) | |||
8398 | int gr_gk20a_resume_from_pause(struct gk20a *g) | 8398 | int gr_gk20a_resume_from_pause(struct gk20a *g) |
8399 | { | 8399 | { |
8400 | int err = 0; | 8400 | int err = 0; |
8401 | u32 reg_val; | ||
8401 | 8402 | ||
8402 | /* Clear the pause mask to tell the GPU we want to resume everyone */ | 8403 | /* Clear the pause mask to tell the GPU we want to resume everyone */ |
8403 | gk20a_writel(g, | 8404 | gk20a_writel(g, |
8404 | gr_gpcs_tpcs_sm_dbgr_bpt_pause_mask_r(), 0); | 8405 | gr_gpcs_tpcs_sm_dbgr_bpt_pause_mask_r(), 0); |
8405 | 8406 | ||
8406 | /* explicitly re-enable forwarding of SM interrupts upon any resume */ | 8407 | /* explicitly re-enable forwarding of SM interrupts upon any resume */ |
8407 | gk20a_writel(g, gr_gpcs_tpcs_tpccs_tpc_exception_en_r(), | 8408 | reg_val = gk20a_readl(g, gr_gpc0_tpc0_tpccs_tpc_exception_en_r()); |
8408 | gr_gpcs_tpcs_tpccs_tpc_exception_en_sm_enabled_f()); | 8409 | reg_val |= gr_gpc0_tpc0_tpccs_tpc_exception_en_sm_enabled_f(); |
8410 | gk20a_writel(g, gr_gpcs_tpcs_tpccs_tpc_exception_en_r(), reg_val); | ||
8409 | 8411 | ||
8410 | /* Now resume all sms, write a 0 to the stop trigger | 8412 | /* Now resume all sms, write a 0 to the stop trigger |
8411 | * then a 1 to the run trigger */ | 8413 | * then a 1 to the run trigger */ |