diff --git a/drivers/gpu/nvgpu/gm20b/gr_gm20b.c b/drivers/gpu/nvgpu/gm20b/gr_gm20b.c index 6bf0ed27c..1256d4a6d 100644 --- a/drivers/gpu/nvgpu/gm20b/gr_gm20b.c +++ b/drivers/gpu/nvgpu/gm20b/gr_gm20b.c @@ -666,9 +666,11 @@ static int gr_gm20b_load_ctxsw_ucode_segments(struct gk20a *g, u64 addr_base, gk20a_writel(g, reg_offset + gr_fecs_bootvec_r(), gr_fecs_bootvec_vec_f(segments->boot_entry)); - /* Write to CPUCTL to start the falcon */ - gk20a_writel(g, reg_offset + gr_fecs_cpuctl_r(), - gr_fecs_cpuctl_startcpu_f(0x01)); + /* start the falcon immediately if PRIV security is disabled*/ + if (!g->ops.privsecurity) { + gk20a_writel(g, reg_offset + gr_fecs_cpuctl_r(), + gr_fecs_cpuctl_startcpu_f(0x01)); + } return 0; }