gpu: nvgpu: Ensure memory subsystem is enabled

Ensure that memory subsystem is enabled at init.

Bug 1603128

Change-Id: Ie3fcd4d9df4dbd480e44fa8919fc311e61b627ca
Signed-off-by: Terje Bergstrom <tbergstrom@nvidia.com>
Reviewed-on: http://git-master/r/707027
Reviewed-by: Seshendra Gadagottu <sgadagottu@nvidia.com>
This commit is contained in:
Terje Bergstrom
2015-02-11 13:10:25 -08:00
committed by Dan Willemsen
parent 3877adcd65
commit b82c86a865
3 changed files with 40 additions and 0 deletions

View File

@@ -22,12 +22,20 @@
static void fb_gk20a_reset(struct gk20a *g) static void fb_gk20a_reset(struct gk20a *g)
{ {
u32 val;
gk20a_dbg_info("reset gk20a fb"); gk20a_dbg_info("reset gk20a fb");
gk20a_reset(g, mc_enable_pfb_enabled_f() gk20a_reset(g, mc_enable_pfb_enabled_f()
| mc_enable_l2_enabled_f() | mc_enable_l2_enabled_f()
| mc_enable_xbar_enabled_f() | mc_enable_xbar_enabled_f()
| mc_enable_hub_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_hub_enabled_f();
gk20a_writel(g, mc_elpg_enable_r(), val);
} }
static void gk20a_fb_set_mmu_page_size(struct gk20a *g) static void gk20a_fb_set_mmu_page_size(struct gk20a *g)

View File

@@ -266,4 +266,20 @@ static inline u32 mc_enable_pb_sel_f(u32 v, u32 i)
{ {
return (v & 0x1) << (0 + i*1); return (v & 0x1) << (0 + i*1);
} }
static inline u32 mc_elpg_enable_r(void)
{
return 0x0000020c;
}
static inline u32 mc_elpg_enable_xbar_enabled_f(void)
{
return 0x4;
}
static inline u32 mc_elpg_enable_pfb_enabled_f(void)
{
return 0x100000;
}
static inline u32 mc_elpg_enable_hub_enabled_f(void)
{
return 0x20000000;
}
#endif #endif

View File

@@ -262,4 +262,20 @@ static inline u32 mc_enable_pb_sel_f(u32 v, u32 i)
{ {
return (v & 0x1) << (0 + i*1); return (v & 0x1) << (0 + i*1);
} }
static inline u32 mc_elpg_enable_r(void)
{
return 0x0000020c;
}
static inline u32 mc_elpg_enable_xbar_enabled_f(void)
{
return 0x4;
}
static inline u32 mc_elpg_enable_pfb_enabled_f(void)
{
return 0x100000;
}
static inline u32 mc_elpg_enable_hub_enabled_f(void)
{
return 0x20000000;
}
#endif #endif