summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/gk20a.h
diff options
context:
space:
mode:
authorSeema Khowala <seemaj@nvidia.com>2017-06-21 00:50:36 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-06-29 16:28:54 -0400
commit2eea080584b36747d7f8a7d5120d60be25d12242 (patch)
treeee3e9c817ce917c0daf4352d563334aaa096e003 /drivers/gpu/nvgpu/gk20a/gk20a.h
parent02d1e7ae979eedf74a27f0ec57bde85c06ba2d35 (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.h13
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,