gpu: nvgpu: move init_ltc_support sequence

Currently, ltc fs_state is initialized during ltc init support. However,
ltc cbc_param and cbc_param2 registers do not seem to be providing
correct data if ltc.init_fs_state is called before fb.init_fs_state.
- Create fb.init_fb_support hal to initialize fb.
- Trigger init_fb_support before init_ltc_support.

Bug 2969956
Bug 2957808
JIRA NVGPU-4666

Change-Id: I54d697d27b9d9c6318c4ef459d215b6f82cd5571
Signed-off-by: Vedashree Vidwans <vvidwans@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2345673
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Vedashree Vidwans
2020-05-27 08:32:44 -07:00
committed by Alex Waterman
parent 32bdf8cc2d
commit fc5b45ea83
11 changed files with 94 additions and 25 deletions

View File

@@ -321,21 +321,6 @@ void nvgpu_init_mm_ce_context(struct gk20a *g)
}
#endif
static void nvgpu_init_mm_reset_enable_hw(struct gk20a *g)
{
if (g->ops.mc.fb_reset != NULL) {
g->ops.mc.fb_reset(g);
}
nvgpu_cg_slcg_fb_ltc_load_enable(g);
nvgpu_cg_blcg_fb_ltc_load_enable(g);
if (g->ops.fb.init_fs_state != NULL) {
g->ops.fb.init_fs_state(g);
}
}
static int nvgpu_init_bar1_vm(struct mm_gk20a *mm)
{
int err;
@@ -652,8 +637,6 @@ int nvgpu_init_mm_support(struct gk20a *g)
{
int err;
nvgpu_init_mm_reset_enable_hw(g);
#ifdef CONFIG_NVGPU_DGPU
err = nvgpu_init_mm_pdb_cache_war(g);
if (err != 0) {