summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gv11b/ltc_gv11b.c
diff options
context:
space:
mode:
authorseshendra Gadagottu <sgadagottu@nvidia.com>2017-06-02 21:08:27 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-06-07 16:35:33 -0400
commitc37a7a577a5cf4732a32c7747f244aab19bdeaec (patch)
tree1e6febdd56d77ebc50e1997610bbd29ed866574b /drivers/gpu/nvgpu/gv11b/ltc_gv11b.c
parent3bf38954c2cd794485ed1bac50df8e61ad1100eb (diff)
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>
Diffstat (limited to 'drivers/gpu/nvgpu/gv11b/ltc_gv11b.c')
-rw-r--r--drivers/gpu/nvgpu/gv11b/ltc_gv11b.c8
1 files changed, 8 insertions, 0 deletions
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 @@
22#include <nvgpu/hw/gv11b/hw_ltc_gv11b.h> 22#include <nvgpu/hw/gv11b/hw_ltc_gv11b.h>
23#include <nvgpu/hw/gv11b/hw_mc_gv11b.h> 23#include <nvgpu/hw/gv11b/hw_mc_gv11b.h>
24#include <nvgpu/hw/gv11b/hw_top_gv11b.h> 24#include <nvgpu/hw/gv11b/hw_top_gv11b.h>
25#include <nvgpu/hw/gv11b/hw_mc_gv11b.h>
25#include <nvgpu/hw/gv11b/hw_pri_ringmaster_gv11b.h> 26#include <nvgpu/hw/gv11b/hw_pri_ringmaster_gv11b.h>
26 27
27/* 28/*
@@ -49,6 +50,13 @@ static void gv11b_ltc_init_fs_state(struct gk20a *g)
49 50
50 gk20a_dbg_info("initialize gv11b l2"); 51 gk20a_dbg_info("initialize gv11b l2");
51 52
53 g->ops.mc.reset(g, mc_enable_pfb_enabled_f() |
54 mc_enable_l2_enabled_f());
55
56 reg = gk20a_readl(g, mc_elpg_enable_r());
57 reg |= mc_elpg_enable_l2_enabled_f();
58 gk20a_writel(g, mc_elpg_enable_r(), reg);
59
52 g->max_ltc_count = gk20a_readl(g, top_num_ltcs_r()); 60 g->max_ltc_count = gk20a_readl(g, top_num_ltcs_r());
53 g->ltc_count = gk20a_readl(g, pri_ringmaster_enum_ltc_r()); 61 g->ltc_count = gk20a_readl(g, pri_ringmaster_enum_ltc_r());
54 gk20a_dbg_info("%u ltcs out of %u", g->ltc_count, g->max_ltc_count); 62 gk20a_dbg_info("%u ltcs out of %u", g->ltc_count, g->max_ltc_count);