diff options
author | Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com> | 2012-11-30 18:45:47 +0000 |
---|---|---|
committer | Jon Medhurst <tixy@linaro.org> | 2013-04-29 09:43:51 +0100 |
commit | bbdd94fe02e9bc54b5c8d873e7dfc0ef3c592aaa (patch) | |
tree | f2b38e33fa9d0fd573978514532f5baba219efef /drivers/cpufreq | |
parent | 3615b1187865c8c2bbd764e34bcb383318b4adf0 (diff) |
cpufreq: vexpress: update parameters to spc get/set perf routines
As the SPC driver now take frequency as the input parameter for get/set
performance routines, change the cpufreq driver to reflect the same.
With this change Linux no longer rely on DT for freq -> perf index
mapping.
Signed-off-by: Sudeep KarkadaNagesha <sudeep.karkadanagesha@arm.com>
Diffstat (limited to 'drivers/cpufreq')
-rw-r--r-- | drivers/cpufreq/vexpress_bL_cpufreq.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/cpufreq/vexpress_bL_cpufreq.c b/drivers/cpufreq/vexpress_bL_cpufreq.c index 228542a21d5..5718bbecd98 100644 --- a/drivers/cpufreq/vexpress_bL_cpufreq.c +++ b/drivers/cpufreq/vexpress_bL_cpufreq.c @@ -91,11 +91,9 @@ static int vexpress_cpufreq_set_target(struct cpufreq_policy *policy, /* Read current clock rate */ cur_cluster = get_current_cached_cluster(cpu); - if (vexpress_spc_get_performance(cur_cluster, &freq_tab_idx)) + if (vexpress_spc_get_performance(cur_cluster, &freqs.old)) return -EIO; - freqs.old = freq_table[cur_cluster][freq_tab_idx].frequency; - /* Make sure that target_freq is within supported range */ if (target_freq > policy->max) target_freq = policy->max; @@ -117,7 +115,7 @@ static int vexpress_cpufreq_set_target(struct cpufreq_policy *policy, for_each_cpu(freqs.cpu, policy->cpus) cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE); - ret = vexpress_spc_set_performance(cur_cluster, freq_tab_idx); + ret = vexpress_spc_set_performance(cur_cluster, freqs.new); if (ret) { pr_err("Error %d while setting required OPP\n", ret); return ret; @@ -134,16 +132,16 @@ static int vexpress_cpufreq_set_target(struct cpufreq_policy *policy, /* Get current clock frequency */ static unsigned int vexpress_cpufreq_get(unsigned int cpu) { - uint32_t freq_tab_idx = 0; + uint32_t freq = 0; uint32_t cur_cluster = get_current_cached_cluster(cpu); /* * Read current clock rate with vexpress_spc call */ - if (vexpress_spc_get_performance(cur_cluster, &freq_tab_idx)) + if (vexpress_spc_get_performance(cur_cluster, &freq)) return -EIO; - return freq_table[cur_cluster][freq_tab_idx].frequency; + return freq; } /* translate the integer array into cpufreq_frequency_table entries */ |