diff options
Diffstat (limited to 'drivers/gpu/nvgpu/vgpu/tsg_vgpu.c')
-rw-r--r-- | drivers/gpu/nvgpu/vgpu/tsg_vgpu.c | 23 |
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 | |||
167 | int 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 | |||