aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/cpufreq/powernv-cpufreq.c9
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
320static 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
320static struct cpufreq_driver powernv_cpufreq_driver = { 328static 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