gr_gpfifo_ctl_semaphore_access_enabled_f());
/* It is safe to enable ELPG again. */
- gk20a_pmu_enable_elpg(g);
+ if (support_gk20a_pmu(g->dev) && g->elpg_enabled)
+ gk20a_pmu_enable_elpg(g);
}
static bool gk20a_fifo_set_ctx_mmu_error(struct gk20a *g,
g->fifo.deferred_reset_pending = false;
/* Disable power management */
- gk20a_pmu_disable_elpg(g);
+ if (support_gk20a_pmu(g->dev) && g->elpg_enabled)
+ gk20a_pmu_disable_elpg(g);
g->ops.clock_gating.slcg_gr_load_gating_prod(g,
false);
g->ops.clock_gating.slcg_perf_load_gating_prod(g,
goto done;
}
- err = g->ops.pmu.prepare_ucode(g);
+ if (g->ops.pmu.prepare_ucode)
+ err = g->ops.pmu.prepare_ucode(g);
if (err) {
gk20a_err(dev, "failed to init pmu ucode");
goto done;