diff options
Diffstat (limited to 'drivers/gpu/nvgpu/os/linux/module.c')
-rw-r--r-- | drivers/gpu/nvgpu/os/linux/module.c | 4 |
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 | ||