diff options
author | Seema Khowala <seemaj@nvidia.com> | 2017-06-21 00:50:36 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-06-29 16:28:54 -0400 |
commit | 2eea080584b36747d7f8a7d5120d60be25d12242 (patch) | |
tree | ee3e9c817ce917c0daf4352d563334aaa096e003 /drivers/gpu/nvgpu/gk20a/gk20a.h | |
parent | 02d1e7ae979eedf74a27f0ec57bde85c06ba2d35 (diff) |
gpu: nvgpu: Support multiple SM for t19x
-Add sm input param for handle_sm_exception and
pre_process_sm_exception for gr ops/functions.
-Add functions to calculate gpc and tpc reg offsets.
-Add function to find SMs which raised SM exception.
JIRA GPUT19X-75
Change-Id: I257e7342ddabadb1556c9551c50a54d34b0f9d1e
Signed-off-by: Seema Khowala <seemaj@nvidia.com>
Reviewed-on: https://git-master/r/1476108
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-by: David Martinez Nieto <dmartineznie@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.h')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.h | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index 8f291f92..e0434360 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h | |||
@@ -285,12 +285,15 @@ struct gpu_ops { | |||
285 | struct channel_gk20a *ch, | 285 | struct channel_gk20a *ch, |
286 | struct gr_gk20a_isr_data *isr_data); | 286 | struct gr_gk20a_isr_data *isr_data); |
287 | int (*pre_process_sm_exception)(struct gk20a *g, | 287 | int (*pre_process_sm_exception)(struct gk20a *g, |
288 | u32 gpc, u32 tpc, u32 global_esr, u32 warp_esr, | 288 | u32 gpc, u32 tpc, u32 sm, u32 global_esr, u32 warp_esr, |
289 | bool sm_debugger_attached, | 289 | bool sm_debugger_attached, |
290 | struct channel_gk20a *fault_ch, | 290 | struct channel_gk20a *fault_ch, |
291 | bool *early_exit, bool *ignore_debugger); | 291 | bool *early_exit, bool *ignore_debugger); |
292 | u32 (*mask_hww_warp_esr)(u32 hww_warp_esr); | 292 | u32 (*mask_hww_warp_esr)(u32 hww_warp_esr); |
293 | int (*handle_sm_exception)(struct gk20a *g, u32 gpc, u32 tpc, | 293 | void (*get_esr_sm_sel)(struct gk20a *g, u32 gpc, u32 tpc, |
294 | u32 *esr_sm_sel); | ||
295 | int (*handle_sm_exception)(struct gk20a *g, | ||
296 | u32 gpc, u32 tpc, u32 sm, | ||
294 | bool *post_event, struct channel_gk20a *fault_ch, | 297 | bool *post_event, struct channel_gk20a *fault_ch, |
295 | u32 *hww_global_esr); | 298 | u32 *hww_global_esr); |
296 | int (*handle_gcc_exception)(struct gk20a *g, u32 gpc, u32 tpc, | 299 | int (*handle_gcc_exception)(struct gk20a *g, u32 gpc, u32 tpc, |