diff options
-rw-r--r-- | drivers/cpufreq/powernv-cpufreq.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/cpufreq/powernv-cpufreq.c b/drivers/cpufreq/powernv-cpufreq.c index 379c0837f5a9..5a628f1e2cdf 100644 --- a/drivers/cpufreq/powernv-cpufreq.c +++ b/drivers/cpufreq/powernv-cpufreq.c | |||
@@ -317,6 +317,14 @@ static int powernv_cpufreq_cpu_init(struct cpufreq_policy *policy) | |||
317 | return cpufreq_table_validate_and_show(policy, powernv_freqs); | 317 | return cpufreq_table_validate_and_show(policy, powernv_freqs); |
318 | } | 318 | } |
319 | 319 | ||
320 | static void powernv_cpufreq_stop_cpu(struct cpufreq_policy *policy) | ||
321 | { | ||
322 | struct powernv_smp_call_data freq_data; | ||
323 | |||
324 | freq_data.pstate_id = powernv_pstate_info.min; | ||
325 | smp_call_function_single(policy->cpu, set_pstate, &freq_data, 1); | ||
326 | } | ||
327 | |||
320 | static struct cpufreq_driver powernv_cpufreq_driver = { | 328 | static struct cpufreq_driver powernv_cpufreq_driver = { |
321 | .name = "powernv-cpufreq", | 329 | .name = "powernv-cpufreq", |
322 | .flags = CPUFREQ_CONST_LOOPS, | 330 | .flags = CPUFREQ_CONST_LOOPS, |
@@ -324,6 +332,7 @@ static struct cpufreq_driver powernv_cpufreq_driver = { | |||
324 | .verify = cpufreq_generic_frequency_table_verify, | 332 | .verify = cpufreq_generic_frequency_table_verify, |
325 | .target_index = powernv_cpufreq_target_index, | 333 | .target_index = powernv_cpufreq_target_index, |
326 | .get = powernv_cpufreq_get, | 334 | .get = powernv_cpufreq_get, |
335 | .stop_cpu = powernv_cpufreq_stop_cpu, | ||
327 | .attr = powernv_cpu_freq_attr, | 336 | .attr = powernv_cpu_freq_attr, |
328 | }; | 337 | }; |
329 | 338 | ||