summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/nvgpu/common/linux/module.c2
-rw-r--r--drivers/gpu/nvgpu/common/linux/module.h2
-rw-r--r--drivers/gpu/nvgpu/common/linux/vgpu/vgpu.c5
3 files changed, 8 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/module.c b/drivers/gpu/nvgpu/common/linux/module.c
index 5012d8b5..4af62d5f 100644
--- a/drivers/gpu/nvgpu/common/linux/module.c
+++ b/drivers/gpu/nvgpu/common/linux/module.c
@@ -186,7 +186,7 @@ static int nvgpu_init_os_linux_ops(struct nvgpu_os_linux *l)
186 return 0; 186 return 0;
187} 187}
188 188
189static int nvgpu_finalize_poweron_linux(struct nvgpu_os_linux *l) 189int nvgpu_finalize_poweron_linux(struct nvgpu_os_linux *l)
190{ 190{
191 struct gk20a *g = &l->g; 191 struct gk20a *g = &l->g;
192 int err; 192 int err;
diff --git a/drivers/gpu/nvgpu/common/linux/module.h b/drivers/gpu/nvgpu/common/linux/module.h
index 5814d63a..90dba804 100644
--- a/drivers/gpu/nvgpu/common/linux/module.h
+++ b/drivers/gpu/nvgpu/common/linux/module.h
@@ -19,8 +19,10 @@
19 19
20struct gk20a; 20struct gk20a;
21struct device; 21struct device;
22struct nvgpu_os_linux;
22 23
23int gk20a_pm_finalize_poweron(struct device *dev); 24int gk20a_pm_finalize_poweron(struct device *dev);
25int nvgpu_finalize_poweron_linux(struct nvgpu_os_linux *l);
24void gk20a_remove_support(struct gk20a *g); 26void gk20a_remove_support(struct gk20a *g);
25void gk20a_driver_start_unload(struct gk20a *g); 27void gk20a_driver_start_unload(struct gk20a *g);
26int nvgpu_quiesce(struct gk20a *g); 28int nvgpu_quiesce(struct gk20a *g);
diff --git a/drivers/gpu/nvgpu/common/linux/vgpu/vgpu.c b/drivers/gpu/nvgpu/common/linux/vgpu/vgpu.c
index f261d2ca..10c2211e 100644
--- a/drivers/gpu/nvgpu/common/linux/vgpu/vgpu.c
+++ b/drivers/gpu/nvgpu/common/linux/vgpu/vgpu.c
@@ -460,6 +460,7 @@ static int vgpu_init_hal(struct gk20a *g)
460int vgpu_pm_finalize_poweron(struct device *dev) 460int vgpu_pm_finalize_poweron(struct device *dev)
461{ 461{
462 struct gk20a *g = get_gk20a(dev); 462 struct gk20a *g = get_gk20a(dev);
463 struct nvgpu_os_linux *l = nvgpu_os_linux_from_gk20a(g);
463 int err; 464 int err;
464 465
465 gk20a_dbg_fn(""); 466 gk20a_dbg_fn("");
@@ -501,6 +502,10 @@ int vgpu_pm_finalize_poweron(struct device *dev)
501 goto done; 502 goto done;
502 } 503 }
503 504
505 err = nvgpu_finalize_poweron_linux(l);
506 if (err)
507 goto done;
508
504 gk20a_ctxsw_trace_init(g); 509 gk20a_ctxsw_trace_init(g);
505 gk20a_sched_ctrl_init(g); 510 gk20a_sched_ctrl_init(g);
506 gk20a_channel_resume(g); 511 gk20a_channel_resume(g);