summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/common/linux/ioctl_tsg.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/common/linux/ioctl_tsg.c')
-rw-r--r--drivers/gpu/nvgpu/common/linux/ioctl_tsg.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/ioctl_tsg.c b/drivers/gpu/nvgpu/common/linux/ioctl_tsg.c
index f4972f11..7eea636e 100644
--- a/drivers/gpu/nvgpu/common/linux/ioctl_tsg.c
+++ b/drivers/gpu/nvgpu/common/linux/ioctl_tsg.c
@@ -249,12 +249,24 @@ free_ref:
249int nvgpu_ioctl_tsg_dev_open(struct inode *inode, struct file *filp) 249int nvgpu_ioctl_tsg_dev_open(struct inode *inode, struct file *filp)
250{ 250{
251 struct nvgpu_os_linux *l; 251 struct nvgpu_os_linux *l;
252 struct gk20a *g;
252 int ret; 253 int ret;
253 254
255 gk20a_dbg_fn("");
256
254 l = container_of(inode->i_cdev, 257 l = container_of(inode->i_cdev,
255 struct nvgpu_os_linux, tsg.cdev); 258 struct nvgpu_os_linux, tsg.cdev);
256 gk20a_dbg_fn(""); 259 g = &l->g;
260
261 ret = gk20a_busy(g);
262 if (ret) {
263 nvgpu_err(g, "failed to power on, %d", ret);
264 return ret;
265 }
266
257 ret = nvgpu_ioctl_tsg_open(&l->g, filp); 267 ret = nvgpu_ioctl_tsg_open(&l->g, filp);
268
269 gk20a_idle(g);
258 gk20a_dbg_fn("done"); 270 gk20a_dbg_fn("done");
259 return ret; 271 return ret;
260} 272}