diff options
author | Vinod G <vinodg@nvidia.com> | 2018-05-24 17:00:19 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-08-08 07:27:28 -0400 |
commit | a09b9cd587d27a3ef6479a17631c3497d447e7a9 (patch) | |
tree | df543902311f6c0e87458041e13b9f569fc92318 /drivers/gpu/nvgpu/gk20a | |
parent | 32bcf21f5712fcd872b26ec70ad8987f7db4478f (diff) |
gpu: nvgpu: Add IOCTL for SM_EXCEPTION_TYPE_MASK
Add new ioctl to set the SM_EXCEPTION_TYPE_MASK is
added to dbg session.
Currently support SM_EXCEPTION_TYPE_MASK_FATAL type
If this type is set then the code will skip RC recovery,
instead trigger CILP preemption.
bug 200412641
JIRA NVGPU-702
Change-Id: I4b1f18379ee792cd324ccc555939e0f4f5c9e3b4
Signed-off-by: Vinod G <vinodg@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1729792
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.h | 6 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gr_gk20a.h | 6 |
2 files changed, 12 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.h b/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.h index 50002557..4d3c4d74 100644 --- a/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.h | |||
@@ -72,6 +72,12 @@ struct dbg_session_gk20a { | |||
72 | bool broadcast_stop_trigger; | 72 | bool broadcast_stop_trigger; |
73 | 73 | ||
74 | struct nvgpu_mutex ioctl_lock; | 74 | struct nvgpu_mutex ioctl_lock; |
75 | |||
76 | /* | ||
77 | * sm set exception type mask flag, to check whether | ||
78 | * exception type mask is requested or not. | ||
79 | */ | ||
80 | bool is_sm_exception_type_mask_set; | ||
75 | }; | 81 | }; |
76 | 82 | ||
77 | struct dbg_session_data { | 83 | struct dbg_session_data { |
diff --git a/drivers/gpu/nvgpu/gk20a/gr_gk20a.h b/drivers/gpu/nvgpu/gk20a/gr_gk20a.h index 0c6be57b..804e0e25 100644 --- a/drivers/gpu/nvgpu/gk20a/gr_gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gr_gk20a.h | |||
@@ -437,6 +437,12 @@ struct gr_gk20a { | |||
437 | u32 no_of_sm; | 437 | u32 no_of_sm; |
438 | struct sm_info *sm_to_cluster; | 438 | struct sm_info *sm_to_cluster; |
439 | struct nvgpu_gr_sm_error_state *sm_error_states; | 439 | struct nvgpu_gr_sm_error_state *sm_error_states; |
440 | |||
441 | #define NVGPU_SM_EXCEPTION_TYPE_MASK_NONE (0x0U) | ||
442 | #define NVGPU_SM_EXCEPTION_TYPE_MASK_FATAL (0x1U << 0) | ||
443 | u32 sm_exception_mask_type; | ||
444 | u32 sm_exception_mask_refcount; | ||
445 | |||
440 | #if defined(CONFIG_GK20A_CYCLE_STATS) | 446 | #if defined(CONFIG_GK20A_CYCLE_STATS) |
441 | struct nvgpu_mutex cs_lock; | 447 | struct nvgpu_mutex cs_lock; |
442 | struct gk20a_cs_snapshot *cs_data; | 448 | struct gk20a_cs_snapshot *cs_data; |