summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/os/linux/module.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/os/linux/module.c')
-rw-r--r--drivers/gpu/nvgpu/os/linux/module.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/os/linux/module.c b/drivers/gpu/nvgpu/os/linux/module.c
index ebe2e650..d580d064 100644
--- a/drivers/gpu/nvgpu/os/linux/module.c
+++ b/drivers/gpu/nvgpu/os/linux/module.c
@@ -59,6 +59,7 @@
59#include "module_usermode.h" 59#include "module_usermode.h"
60#include "intr.h" 60#include "intr.h"
61#include "ioctl.h" 61#include "ioctl.h"
62#include "ioctl_ctrl.h"
62 63
63#include "os_linux.h" 64#include "os_linux.h"
64#include "os_ops.h" 65#include "os_ops.h"
@@ -292,6 +293,8 @@ int gk20a_pm_finalize_poweron(struct device *dev)
292 if (err) 293 if (err)
293 goto done; 294 goto done;
294 295
296 nvgpu_restore_usermode_for_poweron(g);
297
295 /* Enable interrupt workqueue */ 298 /* Enable interrupt workqueue */
296 if (!l->nonstall_work_queue) { 299 if (!l->nonstall_work_queue) {
297 l->nonstall_work_queue = alloc_workqueue("%s", 300 l->nonstall_work_queue = alloc_workqueue("%s",
@@ -424,6 +427,7 @@ static int gk20a_pm_prepare_poweroff(struct device *dev)
424 /* Stop CPU from accessing the GPU registers. */ 427 /* Stop CPU from accessing the GPU registers. */
425 gk20a_lockout_registers(g); 428 gk20a_lockout_registers(g);
426 429
430 nvgpu_hide_usermode_for_poweroff(g);
427 nvgpu_mutex_release(&g->power_lock); 431 nvgpu_mutex_release(&g->power_lock);
428 return 0; 432 return 0;
429 433