diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2017-12-28 18:42:19 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-12-29 16:31:03 -0500 |
commit | b983c67d846547d047156d12a64cb7b216598738 (patch) | |
tree | 3692afc90c4282806353d5808b420b1d52a26726 /drivers/gpu/nvgpu/gk20a/gk20a.c | |
parent | 79ffeb637dbcc5ad719cb5e900be32e06cb37ac5 (diff) |
gpu: nvgpu: Initialize CE once channels resumed
Initialize CE channels and vidmem clearer only once channels have
been enabled.
Change-Id: Id4c870ee7d4632044b97cead5d0d7b8317170430
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1628167
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: David Martinez Nieto <dmartineznie@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.c')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c index 0ccc8f6c..c967b69b 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/gk20a.c | |||
@@ -302,8 +302,6 @@ int gk20a_finalize_poweron(struct gk20a *g) | |||
302 | 302 | ||
303 | gk20a_init_ce_support(g); | 303 | gk20a_init_ce_support(g); |
304 | 304 | ||
305 | nvgpu_init_mm_ce_context(g); | ||
306 | |||
307 | if (g->ops.xve.available_speeds) { | 305 | if (g->ops.xve.available_speeds) { |
308 | u32 speed; | 306 | u32 speed; |
309 | 307 | ||
@@ -321,8 +319,6 @@ int gk20a_finalize_poweron(struct gk20a *g) | |||
321 | } | 319 | } |
322 | } | 320 | } |
323 | 321 | ||
324 | nvgpu_vidmem_thread_unpause(&g->mm); | ||
325 | |||
326 | #if defined(CONFIG_TEGRA_GK20A_NVHOST) && defined(CONFIG_TEGRA_19x_GPU) | 322 | #if defined(CONFIG_TEGRA_GK20A_NVHOST) && defined(CONFIG_TEGRA_19x_GPU) |
327 | if (gk20a_platform_has_syncpoints(g) && g->syncpt_unit_size) { | 323 | if (gk20a_platform_has_syncpoints(g) && g->syncpt_unit_size) { |
328 | if (!nvgpu_mem_is_valid(&g->syncpt_mem)) { | 324 | if (!nvgpu_mem_is_valid(&g->syncpt_mem)) { |
@@ -335,6 +331,10 @@ int gk20a_finalize_poweron(struct gk20a *g) | |||
335 | 331 | ||
336 | gk20a_channel_resume(g); | 332 | gk20a_channel_resume(g); |
337 | 333 | ||
334 | nvgpu_init_mm_ce_context(g); | ||
335 | |||
336 | nvgpu_vidmem_thread_unpause(&g->mm); | ||
337 | |||
338 | done: | 338 | done: |
339 | if (err) | 339 | if (err) |
340 | g->power_on = false; | 340 | g->power_on = false; |