diff options
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/module.c | 2 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/module.h | 2 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/vgpu/vgpu.c | 5 |
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 | ||
189 | static int nvgpu_finalize_poweron_linux(struct nvgpu_os_linux *l) | 189 | int 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 | ||
20 | struct gk20a; | 20 | struct gk20a; |
21 | struct device; | 21 | struct device; |
22 | struct nvgpu_os_linux; | ||
22 | 23 | ||
23 | int gk20a_pm_finalize_poweron(struct device *dev); | 24 | int gk20a_pm_finalize_poweron(struct device *dev); |
25 | int nvgpu_finalize_poweron_linux(struct nvgpu_os_linux *l); | ||
24 | void gk20a_remove_support(struct gk20a *g); | 26 | void gk20a_remove_support(struct gk20a *g); |
25 | void gk20a_driver_start_unload(struct gk20a *g); | 27 | void gk20a_driver_start_unload(struct gk20a *g); |
26 | int nvgpu_quiesce(struct gk20a *g); | 28 | int 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) | |||
460 | int vgpu_pm_finalize_poweron(struct device *dev) | 460 | int 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); |