summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/common/linux/module.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/common/linux/module.c')
-rw-r--r--drivers/gpu/nvgpu/common/linux/module.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/module.c b/drivers/gpu/nvgpu/common/linux/module.c
index b9c9554b..81b3db82 100644
--- a/drivers/gpu/nvgpu/common/linux/module.c
+++ b/drivers/gpu/nvgpu/common/linux/module.c
@@ -40,6 +40,7 @@
40#include <nvgpu/enabled.h> 40#include <nvgpu/enabled.h>
41#include <nvgpu/debug.h> 41#include <nvgpu/debug.h>
42#include <nvgpu/ctxsw_trace.h> 42#include <nvgpu/ctxsw_trace.h>
43#include <nvgpu/vidmem.h>
43 44
44#include "platform_gk20a.h" 45#include "platform_gk20a.h"
45#include "sysfs.h" 46#include "sysfs.h"
@@ -252,13 +253,22 @@ int gk20a_pm_finalize_poweron(struct device *dev)
252 return err; 253 return err;
253 254
254 err = gk20a_finalize_poweron(g); 255 err = gk20a_finalize_poweron(g);
255 set_user_nice(current, nice_value); 256 if (err) {
256 if (err) 257 set_user_nice(current, nice_value);
257 goto done; 258 goto done;
259 }
258 260
259 err = nvgpu_finalize_poweron_linux(l); 261 err = nvgpu_finalize_poweron_linux(l);
260 if (err) 262 if (err) {
263 set_user_nice(current, nice_value);
261 goto done; 264 goto done;
265 }
266
267 nvgpu_init_mm_ce_context(g);
268
269 nvgpu_vidmem_thread_unpause(&g->mm);
270
271 set_user_nice(current, nice_value);
262 272
263 /* Initialise scaling: it will initialize scaling drive only once */ 273 /* Initialise scaling: it will initialize scaling drive only once */
264 if (IS_ENABLED(CONFIG_GK20A_DEVFREQ) && 274 if (IS_ENABLED(CONFIG_GK20A_DEVFREQ) &&