diff options
author | Richard Zhao <rizhao@nvidia.com> | 2018-06-06 23:46:03 -0400 |
---|---|---|
committer | Tejal Kudav <tkudav@nvidia.com> | 2018-06-14 09:44:08 -0400 |
commit | 6a46965eb3b7b657c089142579ab20d6efefc0fc (patch) | |
tree | 60aa4098d4b50af9db21e316098cfbe35c9a4797 /drivers/gpu/nvgpu/gk20a/gr_gk20a.c | |
parent | 7a5d498a711833990a9d8fc3f5d3f3e26bee301c (diff) |
gpu: nvgpu: correct calculation of sm_id for .record_sm_error_state
Starting with Volta, one TPC could have more than 1 SMs. So
.record_sm_error_state needs to have sm number as parameter.
Logic tpc id should be read from gr_gpc0_gpm_pd_sm_id_r.
Let the function return logical sm_id. RM server will need it to nofify
client.
Jira EVLR-2643
Bug 200405202
Change-Id: Iffaff05b89b1c5058616b8a6bf50dd73bd4e52f6
Signed-off-by: Richard Zhao <rizhao@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1742165
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gr_gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_gk20a.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c index 37ac8748..a082cd92 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.c | |||
@@ -5608,7 +5608,7 @@ int gr_gk20a_handle_sm_exception(struct gk20a *g, u32 gpc, u32 tpc, u32 sm, | |||
5608 | "sm hww global 0x%08x warp 0x%08x", global_esr, warp_esr); | 5608 | "sm hww global 0x%08x warp 0x%08x", global_esr, warp_esr); |
5609 | 5609 | ||
5610 | gr_gk20a_elpg_protected_call(g, | 5610 | gr_gk20a_elpg_protected_call(g, |
5611 | g->ops.gr.record_sm_error_state(g, gpc, tpc, fault_ch)); | 5611 | g->ops.gr.record_sm_error_state(g, gpc, tpc, sm, fault_ch)); |
5612 | 5612 | ||
5613 | if (g->ops.gr.pre_process_sm_exception) { | 5613 | if (g->ops.gr.pre_process_sm_exception) { |
5614 | ret = g->ops.gr.pre_process_sm_exception(g, gpc, tpc, sm, | 5614 | ret = g->ops.gr.pre_process_sm_exception(g, gpc, tpc, sm, |