diff options
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c index e1bf2b4b..02baf683 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gk20a.c | |||
@@ -33,6 +33,7 @@ | |||
33 | #include <nvgpu/pmu.h> | 33 | #include <nvgpu/pmu.h> |
34 | #include <nvgpu/gmmu.h> | 34 | #include <nvgpu/gmmu.h> |
35 | #include <nvgpu/ltc.h> | 35 | #include <nvgpu/ltc.h> |
36 | #include <nvgpu/vidmem.h> | ||
36 | 37 | ||
37 | #include <trace/events/gk20a.h> | 38 | #include <trace/events/gk20a.h> |
38 | 39 | ||
@@ -97,8 +98,6 @@ int gk20a_prepare_poweroff(struct gk20a *g) | |||
97 | if (gk20a_fifo_is_engine_busy(g)) | 98 | if (gk20a_fifo_is_engine_busy(g)) |
98 | return -EBUSY; | 99 | return -EBUSY; |
99 | 100 | ||
100 | gk20a_ce_suspend(g); | ||
101 | |||
102 | ret = gk20a_channel_suspend(g); | 101 | ret = gk20a_channel_suspend(g); |
103 | if (ret) | 102 | if (ret) |
104 | return ret; | 103 | return ret; |
@@ -111,6 +110,8 @@ int gk20a_prepare_poweroff(struct gk20a *g) | |||
111 | ret |= gk20a_mm_suspend(g); | 110 | ret |= gk20a_mm_suspend(g); |
112 | ret |= gk20a_fifo_suspend(g); | 111 | ret |= gk20a_fifo_suspend(g); |
113 | 112 | ||
113 | gk20a_ce_suspend(g); | ||
114 | |||
114 | /* Disable GPCPLL */ | 115 | /* Disable GPCPLL */ |
115 | if (g->ops.clk.suspend_clk_support) | 116 | if (g->ops.clk.suspend_clk_support) |
116 | ret |= g->ops.clk.suspend_clk_support(g); | 117 | ret |= g->ops.clk.suspend_clk_support(g); |
@@ -323,6 +324,8 @@ int gk20a_finalize_poweron(struct gk20a *g) | |||
323 | } | 324 | } |
324 | } | 325 | } |
325 | 326 | ||
327 | nvgpu_vidmem_thread_unpause(&g->mm); | ||
328 | |||
326 | #if defined(CONFIG_TEGRA_GK20A_NVHOST) && defined(CONFIG_TEGRA_19x_GPU) | 329 | #if defined(CONFIG_TEGRA_GK20A_NVHOST) && defined(CONFIG_TEGRA_19x_GPU) |
327 | if (gk20a_platform_has_syncpoints(g) && g->syncpt_unit_size) { | 330 | if (gk20a_platform_has_syncpoints(g) && g->syncpt_unit_size) { |
328 | if (!nvgpu_mem_is_valid(&g->syncpt_mem)) { | 331 | if (!nvgpu_mem_is_valid(&g->syncpt_mem)) { |