diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index 62269f211..b1d3f3e30 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h @@ -588,6 +588,7 @@ struct gpu_ops { void *lsfm, u32 *p_bl_gen_desc_size); int (*flcn_populate_bl_dmem_desc)(struct gk20a *g, void *lsfm, u32 *p_bl_gen_desc_size, u32 falconid); + int (*mclk_init)(struct gk20a *g); u32 lspmuwprinitdone; u32 lsfloadedfalconid; bool fecsbootstrapdone; diff --git a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c index a3898993e..539ad44e0 100644 --- a/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/pmu_gk20a.c @@ -3081,6 +3081,8 @@ void pmu_setup_hw(struct work_struct *work) gk20a_dbg_pmu("pmu starting"); if (platform->can_elpg) pmu_init_powergating(g); + if (g->ops.pmu.mclk_init) + g->ops.pmu.mclk_init(g); break; case PMU_STATE_ELPG_BOOTED: gk20a_dbg_pmu("elpg booted");