summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorTerje Bergstrom <tbergstrom@nvidia.com>2016-03-23 15:22:49 -0400
committerTerje Bergstrom <tbergstrom@nvidia.com>2016-05-09 14:49:56 -0400
commitdf05d2a7c214bc8cdb887f1609853d0f424ef6f1 (patch)
treeb8ce60ce5cc4a0e155a43ca3d69d570ca49d35d4 /drivers
parent4c4d0e6eb29fab7c1fb54cb7a7f5e3e41e245991 (diff)
gpu: nvgpu: Enable FB before initializing L2
Deassert reset in L2 and FB before initializing L2. In gk20a L2 can be off and thus writing registers results in a priv ring failure. Change-Id: I680b8b1e77cf67a8269c6de59a15d9817301300e Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com> Signed-off-by: Konsta Holtta <kholtta@nvidia.com> Reviewed-on: http://git-master/r/1140482 (cherry picked from commit d85edcf4170d7bc59d2c080f4343bc2f959be023) Reviewed-on: http://git-master/r/1143684 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/nvgpu/gk20a/gk20a.c2
-rw-r--r--drivers/gpu/nvgpu/gk20a/mm_gk20a.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.c b/drivers/gpu/nvgpu/gk20a/gk20a.c
index a17e6bc1..4283e1ad 100644
--- a/drivers/gpu/nvgpu/gk20a/gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/gk20a.c
@@ -838,6 +838,8 @@ int gk20a_pm_finalize_poweron(struct device *dev)
838 goto done; 838 goto done;
839 } 839 }
840 840
841 g->ops.fb.reset(g);
842
841 if (g->ops.ltc.init_fs_state) 843 if (g->ops.ltc.init_fs_state)
842 g->ops.ltc.init_fs_state(g); 844 g->ops.ltc.init_fs_state(g);
843 845
diff --git a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
index 79fba6ce..6f6734b4 100644
--- a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
@@ -380,8 +380,6 @@ static int gk20a_alloc_comptags(struct gk20a *g,
380static int gk20a_init_mm_reset_enable_hw(struct gk20a *g) 380static int gk20a_init_mm_reset_enable_hw(struct gk20a *g)
381{ 381{
382 gk20a_dbg_fn(""); 382 gk20a_dbg_fn("");
383 if (g->ops.fb.reset)
384 g->ops.fb.reset(g);
385 383
386 if (g->ops.clock_gating.slcg_fb_load_gating_prod) 384 if (g->ops.clock_gating.slcg_fb_load_gating_prod)
387 g->ops.clock_gating.slcg_fb_load_gating_prod(g, 385 g->ops.clock_gating.slcg_fb_load_gating_prod(g,