diff options
Diffstat (limited to 'drivers/gpu/nvgpu/pstate')
-rw-r--r-- | drivers/gpu/nvgpu/pstate/pstate.c | 11 |
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 | ||
27 | void gk20a_deinit_pstate_support(struct gk20a *g) | 27 | void 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; |