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 <sgadagottu@nvidia.com>
Reviewed-on: http://git-master/r/1495167
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
seshendra Gadagottu
2017-06-02 18:08:27 -07:00
committed by mobile promotions
parent 3bf38954c2
commit c37a7a577a
2 changed files with 8 additions and 2 deletions

View File

@@ -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);

View File

@@ -22,6 +22,7 @@
#include <nvgpu/hw/gv11b/hw_ltc_gv11b.h>
#include <nvgpu/hw/gv11b/hw_mc_gv11b.h>
#include <nvgpu/hw/gv11b/hw_top_gv11b.h>
#include <nvgpu/hw/gv11b/hw_mc_gv11b.h>
#include <nvgpu/hw/gv11b/hw_pri_ringmaster_gv11b.h>
/*
@@ -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);