diff options
author | Terje Bergstrom <tbergstrom@nvidia.com> | 2016-03-23 15:22:49 -0400 |
---|---|---|
committer | Terje Bergstrom <tbergstrom@nvidia.com> | 2016-05-09 14:49:56 -0400 |
commit | df05d2a7c214bc8cdb887f1609853d0f424ef6f1 (patch) | |
tree | b8ce60ce5cc4a0e155a43ca3d69d570ca49d35d4 /drivers/gpu | |
parent | 4c4d0e6eb29fab7c1fb54cb7a7f5e3e41e245991 (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/gpu')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.c | 2 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/mm_gk20a.c | 2 |
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, | |||
380 | static int gk20a_init_mm_reset_enable_hw(struct gk20a *g) | 380 | static 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, |