summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/pstate/pstate.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/nvgpu/pstate/pstate.c')
-rw-r--r--drivers/gpu/nvgpu/pstate/pstate.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/pstate/pstate.c b/drivers/gpu/nvgpu/pstate/pstate.c
index 791832cb..4ce7268e 100644
--- a/drivers/gpu/nvgpu/pstate/pstate.c
+++ b/drivers/gpu/nvgpu/pstate/pstate.c
@@ -26,6 +26,9 @@ static int pstate_sw_setup(struct gk20a *g);
26 26
27void gk20a_deinit_pstate_support(struct gk20a *g) 27void gk20a_deinit_pstate_support(struct gk20a *g)
28{ 28{
29 if (g->ops.clk.mclk_deinit)
30 g->ops.clk.mclk_deinit(g);
31
29 nvgpu_mutex_destroy(&g->perf_pmu.pstatesobjs.pstate_mutex); 32 nvgpu_mutex_destroy(&g->perf_pmu.pstatesobjs.pstate_mutex);
30} 33}
31 34
@@ -104,6 +107,14 @@ int gk20a_init_pstate_pmu_support(struct gk20a *g)
104 107
105 gk20a_dbg_fn(""); 108 gk20a_dbg_fn("");
106 109
110 if (g->ops.clk.mclk_init) {
111 err = g->ops.clk.mclk_init(g);
112 if (err) {
113 nvgpu_err(g, "failed to set mclk");
114 /* Indicate error and continue */
115 }
116 }
117
107 err = volt_rail_pmu_setup(g); 118 err = volt_rail_pmu_setup(g);
108 if (err) 119 if (err)
109 return err; 120 return err;