summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gm20b/acr_gm20b.c
diff options
context:
space:
mode:
authorSupriya <ssharatkumar@nvidia.com>2015-08-07 03:02:32 -0400
committerTerje Bergstrom <tbergstrom@nvidia.com>2015-08-21 13:59:07 -0400
commit3fba1e929ba17531f88809cbc12212cedaed015b (patch)
treec83dc5eb3b5df954fa52eab15df3b5d79efc08cf /drivers/gpu/nvgpu/gm20b/acr_gm20b.c
parente44e67333bb835c54a2a66835a13498d4080893f (diff)
gpu: nvgpu: Fix NS boot transcfg
Bug 1667322 Accommodate for transcfg address change Change-Id: I7054202b8ce3be1a3fbfe0465e662be6f9740eb3 Signed-off-by: Supriya <ssharatkumar@nvidia.com> Reviewed-on: http://git-master/r/780326 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gm20b/acr_gm20b.c')
-rw-r--r--drivers/gpu/nvgpu/gm20b/acr_gm20b.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gm20b/acr_gm20b.c b/drivers/gpu/nvgpu/gm20b/acr_gm20b.c
index 3a19d6b6..152b9637 100644
--- a/drivers/gpu/nvgpu/gm20b/acr_gm20b.c
+++ b/drivers/gpu/nvgpu/gm20b/acr_gm20b.c
@@ -1213,6 +1213,39 @@ static int bl_bootstrap(struct pmu_gk20a *pmu,
1213 return 0; 1213 return 0;
1214} 1214}
1215 1215
1216int gm20b_init_nspmu_setup_hw1(struct gk20a *g)
1217{
1218 struct pmu_gk20a *pmu = &g->pmu;
1219 int err = 0;
1220
1221 gk20a_dbg_fn("");
1222
1223 mutex_lock(&pmu->isr_mutex);
1224 pmu_reset(pmu);
1225 pmu->isr_enabled = true;
1226 mutex_unlock(&pmu->isr_mutex);
1227
1228 /* setup apertures - virtual */
1229 gk20a_writel(g, pwr_fbif_transcfg_r(GK20A_PMU_DMAIDX_UCODE),
1230 pwr_fbif_transcfg_mem_type_virtual_f());
1231 gk20a_writel(g, pwr_fbif_transcfg_r(GK20A_PMU_DMAIDX_VIRT),
1232 pwr_fbif_transcfg_mem_type_virtual_f());
1233 /* setup apertures - physical */
1234 gk20a_writel(g, pwr_fbif_transcfg_r(GK20A_PMU_DMAIDX_PHYS_VID),
1235 pwr_fbif_transcfg_mem_type_physical_f() |
1236 pwr_fbif_transcfg_target_local_fb_f());
1237 gk20a_writel(g, pwr_fbif_transcfg_r(GK20A_PMU_DMAIDX_PHYS_SYS_COH),
1238 pwr_fbif_transcfg_mem_type_physical_f() |
1239 pwr_fbif_transcfg_target_coherent_sysmem_f());
1240 gk20a_writel(g, pwr_fbif_transcfg_r(GK20A_PMU_DMAIDX_PHYS_SYS_NCOH),
1241 pwr_fbif_transcfg_mem_type_physical_f() |
1242 pwr_fbif_transcfg_target_noncoherent_sysmem_f());
1243
1244 err = g->ops.pmu.pmu_nsbootstrap(pmu);
1245
1246 return err;
1247}
1248
1216static int gm20b_init_pmu_setup_hw1(struct gk20a *g, 1249static int gm20b_init_pmu_setup_hw1(struct gk20a *g,
1217 struct flcn_bl_dmem_desc *desc, u32 bl_sz) 1250 struct flcn_bl_dmem_desc *desc, u32 bl_sz)
1218{ 1251{