summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gm20b/gr_gm20b.c
diff options
context:
space:
mode:
authorMahantesh Kumbar <mkumbar@nvidia.com>2016-05-23 06:42:11 -0400
committerTerje Bergstrom <tbergstrom@nvidia.com>2016-05-26 19:04:25 -0400
commite9d5e7dfca6ac2fa7af380ceea0a0ca4ac3827c6 (patch)
tree1b46893ce4b27ef947937162eb3f3782ca3f39a2 /drivers/gpu/nvgpu/gm20b/gr_gm20b.c
parentad24c028dba639cebefc3326f925e62c3724a59e (diff)
gpu: nvgpu: secure boot HAL update
Updated/added secure boot HAL with methods required to support multiple GPU chips. JIRA DNVGPU-10 Change-Id: I343b289f2236fd6a6b0ecf9115367ce19990e7d5 Signed-off-by: Mahantesh Kumbar <mkumbar@nvidia.com> Reviewed-on: http://git-master/r/1151784 Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gm20b/gr_gm20b.c')
-rw-r--r--drivers/gpu/nvgpu/gm20b/gr_gm20b.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gm20b/gr_gm20b.c b/drivers/gpu/nvgpu/gm20b/gr_gm20b.c
index 84b36232..d5131b7a 100644
--- a/drivers/gpu/nvgpu/gm20b/gr_gm20b.c
+++ b/drivers/gpu/nvgpu/gm20b/gr_gm20b.c
@@ -708,6 +708,7 @@ static int gr_gm20b_load_ctxsw_ucode(struct gk20a *g)
708 u32 err, flags; 708 u32 err, flags;
709 u32 reg_offset = gr_gpcs_gpccs_falcon_hwcfg_r() - 709 u32 reg_offset = gr_gpcs_gpccs_falcon_hwcfg_r() -
710 gr_fecs_falcon_hwcfg_r(); 710 gr_fecs_falcon_hwcfg_r();
711 u8 falcon_id_mask = 0;
711 712
712 gk20a_dbg_fn(""); 713 gk20a_dbg_fn("");
713 714
@@ -747,8 +748,13 @@ static int gr_gm20b_load_ctxsw_ucode(struct gk20a *g)
747 } else { 748 } else {
748 /* bind WPR VA inst block */ 749 /* bind WPR VA inst block */
749 gr_gk20a_load_falcon_bind_instblk(g); 750 gr_gk20a_load_falcon_bind_instblk(g);
750 err = g->ops.pmu.load_lsfalcon_ucode(g, 751 if (g->ops.pmu.is_lazy_bootstrap(LSF_FALCON_ID_FECS))
751 (1 << LSF_FALCON_ID_GPCCS)); 752 falcon_id_mask |= (1 << LSF_FALCON_ID_FECS);
753 if (g->ops.pmu.is_lazy_bootstrap(LSF_FALCON_ID_GPCCS))
754 falcon_id_mask |= (1 << LSF_FALCON_ID_GPCCS);
755
756 err = g->ops.pmu.load_lsfalcon_ucode(g, falcon_id_mask);
757
752 if (err) { 758 if (err) {
753 gk20a_err(dev_from_gk20a(g), 759 gk20a_err(dev_from_gk20a(g),
754 "Unable to boot GPCCS\n"); 760 "Unable to boot GPCCS\n");