From c37a7a577a5cf4732a32c7747f244aab19bdeaec Mon Sep 17 00:00:00 2001 From: seshendra Gadagottu Date: Fri, 2 Jun 2017 18:08:27 -0700 Subject: gpu: nvgpu: gv11b: ltc reset seqeunce change Access ltc registers only after bringing ltc out reset. Earlier ltc bought out of reset in fb_reset which is later than accessing ltc registers. GPUT19X-70 Change-Id: Id3b0ac4ed8787a994b7a5848598e4989154a0940 Signed-off-by: seshendra Gadagottu Reviewed-on: http://git-master/r/1495167 Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/gv11b/fb_gv11b.c | 2 -- drivers/gpu/nvgpu/gv11b/ltc_gv11b.c | 8 ++++++++ 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'drivers') diff --git a/drivers/gpu/nvgpu/gv11b/fb_gv11b.c b/drivers/gpu/nvgpu/gv11b/fb_gv11b.c index 3b3d775e..7698d968 100644 --- a/drivers/gpu/nvgpu/gv11b/fb_gv11b.c +++ b/drivers/gpu/nvgpu/gv11b/fb_gv11b.c @@ -135,14 +135,12 @@ static void gv11b_fb_reset(struct gk20a *g) nvgpu_info(g, "reset gv11b fb"); g->ops.mc.reset(g, mc_enable_pfb_enabled_f() | - mc_enable_l2_enabled_f() | mc_enable_xbar_enabled_f() | mc_enable_hub_enabled_f()); val = gk20a_readl(g, mc_elpg_enable_r()); val |= mc_elpg_enable_xbar_enabled_f() | mc_elpg_enable_pfb_enabled_f() | - mc_elpg_enable_l2_enabled_f() | mc_elpg_enable_hub_enabled_f(); gk20a_writel(g, mc_elpg_enable_r(), val); diff --git a/drivers/gpu/nvgpu/gv11b/ltc_gv11b.c b/drivers/gpu/nvgpu/gv11b/ltc_gv11b.c index 5b98b0aa..38986382 100644 --- a/drivers/gpu/nvgpu/gv11b/ltc_gv11b.c +++ b/drivers/gpu/nvgpu/gv11b/ltc_gv11b.c @@ -22,6 +22,7 @@ #include #include #include +#include #include /* @@ -49,6 +50,13 @@ static void gv11b_ltc_init_fs_state(struct gk20a *g) gk20a_dbg_info("initialize gv11b l2"); + g->ops.mc.reset(g, mc_enable_pfb_enabled_f() | + mc_enable_l2_enabled_f()); + + reg = gk20a_readl(g, mc_elpg_enable_r()); + reg |= mc_elpg_enable_l2_enabled_f(); + gk20a_writel(g, mc_elpg_enable_r(), reg); + g->max_ltc_count = gk20a_readl(g, top_num_ltcs_r()); g->ltc_count = gk20a_readl(g, pri_ringmaster_enum_ltc_r()); gk20a_dbg_info("%u ltcs out of %u", g->ltc_count, g->max_ltc_count); -- cgit v1.2.2