summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gm20b/gr_gm20b.c
diff options
context:
space:
mode:
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");