summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c b/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c
index c1cca445..4a175a3c 100644
--- a/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/dbg_gpu_gk20a.c
@@ -282,12 +282,6 @@ static int dbg_unbind_channel_gk20a(struct dbg_session_gk20a *dbg_s)
282 282
283 --g->dbg_sessions; 283 --g->dbg_sessions;
284 284
285 /* Powergate enable is called here as possibility of dbg_session
286 * which called powergate disable ioctl, to be killed without calling
287 * powergate enable ioctl
288 */
289 dbg_set_powergate(dbg_s, NVGPU_DBG_GPU_POWERGATE_MODE_ENABLE);
290
291 dbg_s->ch = NULL; 285 dbg_s->ch = NULL;
292 fput(dbg_s->ch_f); 286 fput(dbg_s->ch_f);
293 dbg_s->ch_f = NULL; 287 dbg_s->ch_f = NULL;
@@ -303,6 +297,7 @@ static int dbg_unbind_channel_gk20a(struct dbg_session_gk20a *dbg_s)
303int gk20a_dbg_gpu_dev_release(struct inode *inode, struct file *filp) 297int gk20a_dbg_gpu_dev_release(struct inode *inode, struct file *filp)
304{ 298{
305 struct dbg_session_gk20a *dbg_s = filp->private_data; 299 struct dbg_session_gk20a *dbg_s = filp->private_data;
300 struct gk20a *g = dbg_s->g;
306 301
307 gk20a_dbg(gpu_dbg_gpu_dbg | gpu_dbg_fn, "%s", dev_name(dbg_s->dev)); 302 gk20a_dbg(gpu_dbg_gpu_dbg | gpu_dbg_fn, "%s", dev_name(dbg_s->dev));
308 303
@@ -310,6 +305,14 @@ int gk20a_dbg_gpu_dev_release(struct inode *inode, struct file *filp)
310 if (dbg_s->ch) 305 if (dbg_s->ch)
311 dbg_unbind_channel_gk20a(dbg_s); 306 dbg_unbind_channel_gk20a(dbg_s);
312 307
308 /* Powergate enable is called here as possibility of dbg_session
309 * which called powergate disable ioctl, to be killed without calling
310 * powergate enable ioctl
311 */
312 mutex_lock(&g->dbg_sessions_lock);
313 dbg_set_powergate(dbg_s, NVGPU_DBG_GPU_POWERGATE_MODE_ENABLE);
314 mutex_unlock(&g->dbg_sessions_lock);
315
313 kfree(dbg_s); 316 kfree(dbg_s);
314 return 0; 317 return 0;
315} 318}