summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gm20b/acr_gm20b.c
diff options
context:
space:
mode:
authorVijayakumar <vsubbu@nvidia.com>2014-09-30 10:41:43 -0400
committerDan Willemsen <dwillemsen@nvidia.com>2015-03-18 15:11:33 -0400
commitf84fad2a992482044e7d0229cf596f055374db52 (patch)
tree4dc920b0b2be30e5900414ed698106d57e8db0ae /drivers/gpu/nvgpu/gm20b/acr_gm20b.c
parent28476a5b13934f41dda2b96c2aa564c379890e51 (diff)
gpu: nvgpu: gm20b: fix dbg msg from secure pmu
dma params for dbg msgs not passed correctly Change-Id: Ic4ba2bf282b8c339a8c8f6fecd297394fd5771dd Signed-off-by: Vijayakumar <vsubbu@nvidia.com> Reviewed-on: http://git-master/r/552073 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.c22
1 files changed, 12 insertions, 10 deletions
diff --git a/drivers/gpu/nvgpu/gm20b/acr_gm20b.c b/drivers/gpu/nvgpu/gm20b/acr_gm20b.c
index 73c690fd..b717272c 100644
--- a/drivers/gpu/nvgpu/gm20b/acr_gm20b.c
+++ b/drivers/gpu/nvgpu/gm20b/acr_gm20b.c
@@ -340,7 +340,6 @@ int pmu_populate_loader_cfg(struct gk20a *g,
340 struct flcn_ucode_img *p_img = &(lsfm->ucode_img); 340 struct flcn_ucode_img *p_img = &(lsfm->ucode_img);
341 struct loader_config *ldr_cfg = 341 struct loader_config *ldr_cfg =
342 (struct loader_config *)(&p_bl_gen_desc->loader_cfg); 342 (struct loader_config *)(&p_bl_gen_desc->loader_cfg);
343 struct gk20a_platform *platform = platform_get_drvdata(g->dev);
344 u64 addr_base; 343 u64 addr_base;
345 struct pmu_ucode_desc *desc; 344 struct pmu_ucode_desc *desc;
346 u64 addr_code, addr_data; 345 u64 addr_code, addr_data;
@@ -395,15 +394,6 @@ int pmu_populate_loader_cfg(struct gk20a *g,
395 ldr_cfg->argc = 1; 394 ldr_cfg->argc = 1;
396 ldr_cfg->argv = addr_args; 395 ldr_cfg->argv = addr_args;
397 396
398 /*Copying pmu cmdline args*/
399 g->ops.pmu_ver.set_pmu_cmdline_args_cpu_freq(pmu,
400 clk_get_rate(platform->clk[1]));
401 g->ops.pmu_ver.set_pmu_cmdline_args_secure_mode(pmu, 1);
402 g->ops.pmu_ver.set_pmu_cmdline_args_trace_size(
403 pmu, GK20A_PMU_TRACE_BUFSIZE);
404 g->ops.pmu_ver.set_pmu_cmdline_args_trace_dma_base(pmu);
405 g->ops.pmu_ver.set_pmu_cmdline_args_trace_dma_idx(
406 pmu, GK20A_PMU_DMAIDX_VIRT);
407 *p_bl_gen_desc_size = sizeof(p_bl_gen_desc->loader_cfg); 397 *p_bl_gen_desc_size = sizeof(p_bl_gen_desc->loader_cfg);
408 g->acr.pmu_args = addr_args; 398 g->acr.pmu_args = addr_args;
409 return 0; 399 return 0;
@@ -1085,10 +1075,13 @@ static int bl_bootstrap(struct pmu_gk20a *pmu,
1085int gm20b_init_pmu_setup_hw1(struct gk20a *g, struct flcn_bl_dmem_desc *desc, 1075int gm20b_init_pmu_setup_hw1(struct gk20a *g, struct flcn_bl_dmem_desc *desc,
1086 u32 bl_sz) 1076 u32 bl_sz)
1087{ 1077{
1078
1088 struct pmu_gk20a *pmu = &g->pmu; 1079 struct pmu_gk20a *pmu = &g->pmu;
1089 int err; 1080 int err;
1081 struct gk20a_platform *platform = platform_get_drvdata(g->dev);
1090 1082
1091 gk20a_dbg_fn(""); 1083 gk20a_dbg_fn("");
1084
1092 mutex_lock(&pmu->isr_mutex); 1085 mutex_lock(&pmu->isr_mutex);
1093 pmu_reset(pmu); 1086 pmu_reset(pmu);
1094 pmu->isr_enabled = true; 1087 pmu->isr_enabled = true;
@@ -1111,6 +1104,15 @@ int gm20b_init_pmu_setup_hw1(struct gk20a *g, struct flcn_bl_dmem_desc *desc,
1111 pwr_fbif_transcfg_mem_type_physical_f() | 1104 pwr_fbif_transcfg_mem_type_physical_f() |
1112 pwr_fbif_transcfg_target_noncoherent_sysmem_f()); 1105 pwr_fbif_transcfg_target_noncoherent_sysmem_f());
1113 1106
1107 /*Copying pmu cmdline args*/
1108 g->ops.pmu_ver.set_pmu_cmdline_args_cpu_freq(pmu,
1109 clk_get_rate(platform->clk[1]));
1110 g->ops.pmu_ver.set_pmu_cmdline_args_secure_mode(pmu, 1);
1111 g->ops.pmu_ver.set_pmu_cmdline_args_trace_size(
1112 pmu, GK20A_PMU_TRACE_BUFSIZE);
1113 g->ops.pmu_ver.set_pmu_cmdline_args_trace_dma_base(pmu);
1114 g->ops.pmu_ver.set_pmu_cmdline_args_trace_dma_idx(
1115 pmu, GK20A_PMU_DMAIDX_VIRT);
1114 pmu_copy_to_dmem(pmu, g->acr.pmu_args, 1116 pmu_copy_to_dmem(pmu, g->acr.pmu_args,
1115 (u8 *)(g->ops.pmu_ver.get_pmu_cmdline_args_ptr(pmu)), 1117 (u8 *)(g->ops.pmu_ver.get_pmu_cmdline_args_ptr(pmu)),
1116 g->ops.pmu_ver.get_pmu_cmdline_args_size(pmu), 0); 1118 g->ops.pmu_ver.get_pmu_cmdline_args_size(pmu), 0);