summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/vgpu/tsg_vgpu.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/vgpu/tsg_vgpu.c')
-rw-r--r--drivers/gpu/nvgpu/vgpu/tsg_vgpu.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/vgpu/tsg_vgpu.c b/drivers/gpu/nvgpu/vgpu/tsg_vgpu.c
index a81b5022..cd733f9d 100644
--- a/drivers/gpu/nvgpu/vgpu/tsg_vgpu.c
+++ b/drivers/gpu/nvgpu/vgpu/tsg_vgpu.c
@@ -163,3 +163,26 @@ int vgpu_tsg_set_timeslice(struct tsg_gk20a *tsg, u32 timeslice)
163 163
164 return err; 164 return err;
165} 165}
166
167int vgpu_set_sm_exception_type_mask(struct channel_gk20a *ch,
168 u32 exception_mask)
169{
170 struct tegra_vgpu_cmd_msg msg;
171 struct tegra_vgpu_set_sm_exception_type_mask_params *p =
172 &msg.params.set_sm_exception_mask;
173 int err = 0;
174 struct gk20a *g = ch->g;
175
176 nvgpu_log_fn(g, " ");
177
178 msg.cmd = TEGRA_VGPU_CMD_SET_SM_EXCEPTION_TYPE_MASK;
179 msg.handle = vgpu_get_handle(g);
180 p->handle = ch->virt_ctx;
181 p->mask = exception_mask;
182 err = vgpu_comm_sendrecv(&msg, sizeof(msg), sizeof(msg));
183 err = err ? err : msg.ret;
184 WARN_ON(err);
185
186 return err;
187}
188