Signed-off-by: Joshua Emele <jem...@gmail.com>
---
 drivers/cpufreq/omap-cpufreq.c |   17 ++++++++++++++---
 1 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/drivers/cpufreq/omap-cpufreq.c b/drivers/cpufreq/omap-cpufreq.c
index e8bcad8..103fa8b 100644
--- a/drivers/cpufreq/omap-cpufreq.c
+++ b/drivers/cpufreq/omap-cpufreq.c
@@ -79,7 +79,7 @@ static int omap_target(struct cpufreq_policy *policy,
                       unsigned int target_freq,
                       unsigned int relation)
 {
-       unsigned int i;
+       unsigned int i, opp_index;
        int r, ret = 0;
        struct cpufreq_freqs freqs;
        struct opp *opp;
@@ -92,13 +92,13 @@ static int omap_target(struct cpufreq_policy *policy,
        }
 
        ret = cpufreq_frequency_table_target(policy, freq_table, target_freq,
-                       relation, &i);
+                       relation, &opp_index);
        if (ret) {
                dev_dbg(mpu_dev, "%s: cpu%d: no freq match for %d(ret=%d)\n",
                        __func__, policy->cpu, target_freq, ret);
                return ret;
        }
-       freqs.new = freq_table[i].frequency;
+       freqs.new = freq_table[opp_index].frequency;
        if (!freqs.new) {
                dev_err(mpu_dev, "%s: cpu%d: no match for freq %d\n", __func__,
                        policy->cpu, target_freq);
@@ -161,6 +161,17 @@ static int omap_target(struct cpufreq_policy *policy,
        }
 
        freqs.new = omap_getspeed(policy->cpu);
+
+       if (!ret && iva_freq_table && iva_clk) {
+               const unsigned long iva_rate =
+                       iva_freq_table[opp_index].frequency * 1000;
+               ret = clk_set_rate(iva_clk, iva_rate);
+               if (ret) {
+                       pr_err("%s: failed to set %s rate %lu[%d]\n",
+                                       __func__, iva_clk->name, iva_rate, ret);
+               }
+       }
+
 #ifdef CONFIG_SMP
        /*
         * Note that loops_per_jiffy is not updated on SMP systems in
-- 
1.7.6.5

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to