diff options
author | Mahantesh Kumbar <mkumbar@nvidia.com> | 2016-05-23 06:42:11 -0400 |
---|---|---|
committer | Terje Bergstrom <tbergstrom@nvidia.com> | 2016-05-26 19:04:25 -0400 |
commit | e9d5e7dfca6ac2fa7af380ceea0a0ca4ac3827c6 (patch) | |
tree | 1b46893ce4b27ef947937162eb3f3782ca3f39a2 /drivers/gpu/nvgpu/gm20b/gr_gm20b.c | |
parent | ad24c028dba639cebefc3326f925e62c3724a59e (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.c | 10 |
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"); |