diff options
author | Viresh Kumar <viresh.kumar@linaro.org> | 2016-06-27 00:29:34 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2016-07-06 18:14:27 -0400 |
commit | 825773609c8ae34a19d4b593555493ae2754eff7 (patch) | |
tree | ecf8c5ed90f21878a66d795aa6be0222c08fe247 | |
parent | da0c6dc00c69d0adaae99c3b3d2ea0c869a3fb35 (diff) |
cpufreq: Reuse new freq-table helpers
This patch migrates few users of cpufreq tables to the new helpers
that work on sorted freq-tables.
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r-- | drivers/cpufreq/acpi-cpufreq.c | 14 | ||||
-rw-r--r-- | drivers/cpufreq/amd_freq_sensitivity.c | 4 | ||||
-rw-r--r-- | drivers/cpufreq/cpufreq_ondemand.c | 6 | ||||
-rw-r--r-- | drivers/cpufreq/powernv-cpufreq.c | 3 | ||||
-rw-r--r-- | drivers/cpufreq/s5pv210-cpufreq.c | 3 |
5 files changed, 10 insertions, 20 deletions
diff --git a/drivers/cpufreq/acpi-cpufreq.c b/drivers/cpufreq/acpi-cpufreq.c index 32a15052f363..11c9a078e0fd 100644 --- a/drivers/cpufreq/acpi-cpufreq.c +++ b/drivers/cpufreq/acpi-cpufreq.c | |||
@@ -468,20 +468,14 @@ unsigned int acpi_cpufreq_fast_switch(struct cpufreq_policy *policy, | |||
468 | struct acpi_cpufreq_data *data = policy->driver_data; | 468 | struct acpi_cpufreq_data *data = policy->driver_data; |
469 | struct acpi_processor_performance *perf; | 469 | struct acpi_processor_performance *perf; |
470 | struct cpufreq_frequency_table *entry; | 470 | struct cpufreq_frequency_table *entry; |
471 | unsigned int next_perf_state, next_freq, freq; | 471 | unsigned int next_perf_state, next_freq, index; |
472 | 472 | ||
473 | /* | 473 | /* |
474 | * Find the closest frequency above target_freq. | 474 | * Find the closest frequency above target_freq. |
475 | * | ||
476 | * The table is sorted in the reverse order with respect to the | ||
477 | * frequency and all of the entries are valid (see the initialization). | ||
478 | */ | 475 | */ |
479 | entry = policy->freq_table; | 476 | index = cpufreq_table_find_index_dl(policy, target_freq); |
480 | do { | 477 | |
481 | entry++; | 478 | entry = &policy->freq_table[index]; |
482 | freq = entry->frequency; | ||
483 | } while (freq >= target_freq && freq != CPUFREQ_TABLE_END); | ||
484 | entry--; | ||
485 | next_freq = entry->frequency; | 479 | next_freq = entry->frequency; |
486 | next_perf_state = entry->driver_data; | 480 | next_perf_state = entry->driver_data; |
487 | 481 | ||
diff --git a/drivers/cpufreq/amd_freq_sensitivity.c b/drivers/cpufreq/amd_freq_sensitivity.c index 6d5dc04c3a37..042023bbbf62 100644 --- a/drivers/cpufreq/amd_freq_sensitivity.c +++ b/drivers/cpufreq/amd_freq_sensitivity.c | |||
@@ -91,8 +91,8 @@ static unsigned int amd_powersave_bias_target(struct cpufreq_policy *policy, | |||
91 | else { | 91 | else { |
92 | unsigned int index; | 92 | unsigned int index; |
93 | 93 | ||
94 | index = cpufreq_frequency_table_target(policy, | 94 | index = cpufreq_table_find_index_h(policy, |
95 | policy->cur - 1, CPUFREQ_RELATION_H); | 95 | policy->cur - 1); |
96 | freq_next = policy->freq_table[index].frequency; | 96 | freq_next = policy->freq_table[index].frequency; |
97 | } | 97 | } |
98 | 98 | ||
diff --git a/drivers/cpufreq/cpufreq_ondemand.c b/drivers/cpufreq/cpufreq_ondemand.c index 0c93cd9dee99..3a1f49f5f4c6 100644 --- a/drivers/cpufreq/cpufreq_ondemand.c +++ b/drivers/cpufreq/cpufreq_ondemand.c | |||
@@ -85,11 +85,9 @@ static unsigned int generic_powersave_bias_target(struct cpufreq_policy *policy, | |||
85 | freq_avg = freq_req - freq_reduc; | 85 | freq_avg = freq_req - freq_reduc; |
86 | 86 | ||
87 | /* Find freq bounds for freq_avg in freq_table */ | 87 | /* Find freq bounds for freq_avg in freq_table */ |
88 | index = cpufreq_frequency_table_target(policy, freq_avg, | 88 | index = cpufreq_table_find_index_h(policy, freq_avg); |
89 | CPUFREQ_RELATION_H); | ||
90 | freq_lo = freq_table[index].frequency; | 89 | freq_lo = freq_table[index].frequency; |
91 | index = cpufreq_frequency_table_target(policy, freq_avg, | 90 | index = cpufreq_table_find_index_l(policy, freq_avg); |
92 | CPUFREQ_RELATION_L); | ||
93 | freq_hi = freq_table[index].frequency; | 91 | freq_hi = freq_table[index].frequency; |
94 | 92 | ||
95 | /* Find out how long we have to be in hi and lo freqs */ | 93 | /* Find out how long we have to be in hi and lo freqs */ |
diff --git a/drivers/cpufreq/powernv-cpufreq.c b/drivers/cpufreq/powernv-cpufreq.c index b29c5c20c3a1..2a2920c4fdf9 100644 --- a/drivers/cpufreq/powernv-cpufreq.c +++ b/drivers/cpufreq/powernv-cpufreq.c | |||
@@ -760,8 +760,7 @@ void powernv_cpufreq_work_fn(struct work_struct *work) | |||
760 | struct cpufreq_policy policy; | 760 | struct cpufreq_policy policy; |
761 | 761 | ||
762 | cpufreq_get_policy(&policy, cpu); | 762 | cpufreq_get_policy(&policy, cpu); |
763 | index = cpufreq_frequency_table_target(&policy, policy.cur, | 763 | index = cpufreq_table_find_index_c(&policy, policy.cur); |
764 | CPUFREQ_RELATION_C); | ||
765 | powernv_cpufreq_target_index(&policy, index); | 764 | powernv_cpufreq_target_index(&policy, index); |
766 | cpumask_andnot(&mask, &mask, policy.cpus); | 765 | cpumask_andnot(&mask, &mask, policy.cpus); |
767 | } | 766 | } |
diff --git a/drivers/cpufreq/s5pv210-cpufreq.c b/drivers/cpufreq/s5pv210-cpufreq.c index 4f4e9df9b7fc..9e07588ea9f5 100644 --- a/drivers/cpufreq/s5pv210-cpufreq.c +++ b/drivers/cpufreq/s5pv210-cpufreq.c | |||
@@ -246,8 +246,7 @@ static int s5pv210_target(struct cpufreq_policy *policy, unsigned int index) | |||
246 | new_freq = s5pv210_freq_table[index].frequency; | 246 | new_freq = s5pv210_freq_table[index].frequency; |
247 | 247 | ||
248 | /* Finding current running level index */ | 248 | /* Finding current running level index */ |
249 | priv_index = cpufreq_frequency_table_target(policy, old_freq, | 249 | priv_index = cpufreq_table_find_index_h(policy, old_freq); |
250 | CPUFREQ_RELATION_H); | ||
251 | 250 | ||
252 | arm_volt = dvs_conf[index].arm_volt; | 251 | arm_volt = dvs_conf[index].arm_volt; |
253 | int_volt = dvs_conf[index].int_volt; | 252 | int_volt = dvs_conf[index].int_volt; |