]> rtime.felk.cvut.cz Git - linux-imx.git/blobdiff - drivers/cpufreq/powernow-k6.c
cpufreq: Notify all policy->cpus in cpufreq_notify_transition()
[linux-imx.git] / drivers / cpufreq / powernow-k6.c
index af23e0b9ec926e8f26cc07dc4c90e5359d404486..ea0222a45b7b4241d66af2d4ba64e894a2caa178 100644 (file)
@@ -68,7 +68,8 @@ static int powernow_k6_get_cpu_multiplier(void)
  *
  *   Tries to change the PowerNow! multiplier
  */
-static void powernow_k6_set_state(unsigned int best_i)
+static void powernow_k6_set_state(struct cpufreq_policy *policy,
+               unsigned int best_i)
 {
        unsigned long outvalue = 0, invalue = 0;
        unsigned long msrval;
@@ -81,9 +82,8 @@ static void powernow_k6_set_state(unsigned int best_i)
 
        freqs.old = busfreq * powernow_k6_get_cpu_multiplier();
        freqs.new = busfreq * clock_ratio[best_i].index;
-       freqs.cpu = 0; /* powernow-k6.c is UP only driver */
 
-       cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
+       cpufreq_notify_transition(policy, &freqs, CPUFREQ_PRECHANGE);
 
        /* we now need to transform best_i to the BVC format, see AMD#23446 */
 
@@ -98,7 +98,7 @@ static void powernow_k6_set_state(unsigned int best_i)
        msrval = POWERNOW_IOPORT + 0x0;
        wrmsr(MSR_K6_EPMR, msrval, 0); /* disable it again */
 
-       cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
+       cpufreq_notify_transition(policy, &freqs, CPUFREQ_POSTCHANGE);
 
        return;
 }
@@ -136,7 +136,7 @@ static int powernow_k6_target(struct cpufreq_policy *policy,
                                target_freq, relation, &newstate))
                return -EINVAL;
 
-       powernow_k6_set_state(newstate);
+       powernow_k6_set_state(policy, newstate);
 
        return 0;
 }
@@ -182,7 +182,7 @@ static int powernow_k6_cpu_exit(struct cpufreq_policy *policy)
        unsigned int i;
        for (i = 0; i < 8; i++) {
                if (i == max_multiplier)
-                       powernow_k6_set_state(i);
+                       powernow_k6_set_state(policy, i);
        }
        cpufreq_frequency_table_put_attr(policy->cpu);
        return 0;