summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/tsg_gk20a.h
diff options
context:
space:
mode:
authoraalex <aalex@nvidia.com>2018-09-07 12:38:05 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2018-09-21 06:15:03 -0400
commitc5810a670d367ae1dc405fcc3108e11265df34bb (patch)
tree7ec13fcda49df98f360fb5adc57e4af7a95ea4cc /drivers/gpu/nvgpu/gk20a/tsg_gk20a.h
parentec067c5ed1f00517dbd771fbe9809d2340ec908b (diff)
gpu: nvgpu: refactor SET_SM_EXCEPTION_MASK ioctl
added hal layer for SM exception mask handling for taking care of vitualization case. Jira VQRM-4806 Bug 200447406 Bug 2331747 Change-Id: Ia44778a2e41c1a508c48026b8dee285966f1a544 Signed-off-by: aalex <aalex@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1816284 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/tsg_gk20a.h')
-rw-r--r--drivers/gpu/nvgpu/gk20a/tsg_gk20a.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/tsg_gk20a.h b/drivers/gpu/nvgpu/gk20a/tsg_gk20a.h
index 1e3be553..d13cd388 100644
--- a/drivers/gpu/nvgpu/gk20a/tsg_gk20a.h
+++ b/drivers/gpu/nvgpu/gk20a/tsg_gk20a.h
@@ -82,6 +82,7 @@ struct tsg_gk20a {
82#define NVGPU_SM_EXCEPTION_TYPE_MASK_NONE (0x0U) 82#define NVGPU_SM_EXCEPTION_TYPE_MASK_NONE (0x0U)
83#define NVGPU_SM_EXCEPTION_TYPE_MASK_FATAL (0x1U << 0) 83#define NVGPU_SM_EXCEPTION_TYPE_MASK_FATAL (0x1U << 0)
84 u32 sm_exception_mask_type; 84 u32 sm_exception_mask_type;
85 struct nvgpu_mutex sm_exception_mask_lock;
85}; 86};
86 87
87int gk20a_enable_tsg(struct tsg_gk20a *tsg); 88int gk20a_enable_tsg(struct tsg_gk20a *tsg);
@@ -103,6 +104,8 @@ int gk20a_tsg_alloc_sm_error_states_mem(struct gk20a *g,
103void gk20a_tsg_update_sm_error_state_locked(struct tsg_gk20a *tsg, 104void gk20a_tsg_update_sm_error_state_locked(struct tsg_gk20a *tsg,
104 u32 sm_id, 105 u32 sm_id,
105 struct nvgpu_tsg_sm_error_state *sm_error_state); 106 struct nvgpu_tsg_sm_error_state *sm_error_state);
107int gk20a_tsg_set_sm_exception_type_mask(struct channel_gk20a *ch,
108 u32 exception_mask);
106 109
107struct gk20a_event_id_data { 110struct gk20a_event_id_data {
108 struct gk20a *g; 111 struct gk20a *g;