diff options
author | Richard Zhao <rizhao@nvidia.com> | 2018-06-05 19:40:50 -0400 |
---|---|---|
committer | Tejal Kudav <tkudav@nvidia.com> | 2018-06-14 09:44:08 -0400 |
commit | 7a5d498a711833990a9d8fc3f5d3f3e26bee301c (patch) | |
tree | 8fd4d77ea3835bd7c61681eeb90bd5c9f4df1cf9 /drivers/gpu/nvgpu/gv11b/fb_gv11b.c | |
parent | d6c9f9f170a1d7a6bedbf5f7e2f1ec5cf4c9a3f1 (diff) |
gpu: nvgpu: handle replayable mmu fault during waiting for SM lockdown
outstanding replayable mmu fault will prevent SM from lockdown, so
handle the replayable mmu fault while polling lockdown status.
Jira EVLR-2643
Bug 200405202
Change-Id: I811f16ef4394a6cc42a5f37a17e426dd749c5652
Signed-off-by: Richard Zhao <rizhao@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1741997
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gv11b/fb_gv11b.c')
-rw-r--r-- | drivers/gpu/nvgpu/gv11b/fb_gv11b.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gv11b/fb_gv11b.c b/drivers/gpu/nvgpu/gv11b/fb_gv11b.c index 9fd6c857..18906c01 100644 --- a/drivers/gpu/nvgpu/gv11b/fb_gv11b.c +++ b/drivers/gpu/nvgpu/gv11b/fb_gv11b.c | |||
@@ -1289,6 +1289,18 @@ void gv11b_fb_handle_dropped_mmu_fault(struct gk20a *g, u32 fault_status) | |||
1289 | } | 1289 | } |
1290 | } | 1290 | } |
1291 | 1291 | ||
1292 | void gv11b_fb_handle_replayable_mmu_fault(struct gk20a *g) | ||
1293 | { | ||
1294 | u32 fault_status = gk20a_readl(g, fb_mmu_fault_status_r()); | ||
1295 | |||
1296 | if (!(fault_status & fb_mmu_fault_status_replayable_m())) | ||
1297 | return; | ||
1298 | |||
1299 | if (gv11b_fb_is_fault_buf_enabled(g, NONREPLAY_REG_INDEX)) { | ||
1300 | gv11b_fb_handle_mmu_nonreplay_replay_fault(g, | ||
1301 | fault_status, REPLAY_REG_INDEX); | ||
1302 | } | ||
1303 | } | ||
1292 | 1304 | ||
1293 | static void gv11b_fb_handle_mmu_fault(struct gk20a *g, u32 niso_intr) | 1305 | static void gv11b_fb_handle_mmu_fault(struct gk20a *g, u32 niso_intr) |
1294 | { | 1306 | { |