tree b31042a3fe103a894a26611e16459f10b7b2cbaa
parent 8085e1f1f0645fc6ddefcb54fdcba95808df5049
author Venkatesh Pallipadi <[EMAIL PROTECTED]> Tue, 30 Aug 2005 03:54:55 -0700
committer Dave Jones <[EMAIL PROTECTED]> Thu, 01 Sep 2005 12:21:29 -0700

[CPUFREQ] speedstep-centrino: skip extract_clock logic for acpi based centrino

speedstep_centrino.c:extract_clock() assumes the bus speed of 100MHz, which is
not true with latest laptops. Due to this assumption and due to the encoded
frequency check during initialization, speedstep-centrino driver fails even
on systems that has proper ACPI information to do the P-state transition.

The change below moves the centrino-speedstep detection to be used only
when table based P-state transition is done. For ACPI based P-state
transition, we skip the centrino_cpu identification, and as a result we
don't use the bus speed assumption in extract_clock. This change makes
speedstep-centrino work on Pentium-M based systems, which have more than 100MHz
bus speed.

Signed-off-by: Venkatesh Pallipadi <[EMAIL PROTECTED]>
Signed-off-by: Dave Jones <[EMAIL PROTECTED]>

 arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c 
--- a/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c
+++ b/arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c
@@ -498,13 +498,6 @@ static int centrino_cpu_init(struct cpuf
        if (cpu->x86_vendor != X86_VENDOR_INTEL || !cpu_has(cpu, 
                return -ENODEV;
-       for (i = 0; i < N_IDS; i++)
-               if (centrino_verify_cpu_id(cpu, &cpu_ids[i]))
-                       break;
-       if (i != N_IDS)
-               centrino_cpu[policy->cpu] = &cpu_ids[i];
        if (is_const_loops_cpu(policy->cpu)) {
                centrino_driver.flags |= CPUFREQ_CONST_LOOPS;
@@ -513,6 +506,13 @@ static int centrino_cpu_init(struct cpuf
                if (policy->cpu != 0)
                        return -ENODEV;
+               for (i = 0; i < N_IDS; i++)
+                       if (centrino_verify_cpu_id(cpu, &cpu_ids[i]))
+                               break;
+               if (i != N_IDS)
+                       centrino_cpu[policy->cpu] = &cpu_ids[i];
                if (!centrino_cpu[policy->cpu]) {
                        dprintk(KERN_INFO PFX "found unsupported CPU with "
                        "Enhanced SpeedStep: send /proc/cpuinfo to "
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to