[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 <venkatesh.pallipadi@intel.com> Signed-off-by: Dave Jones <davej@redhat.com>
This commit is contained in:
parent
8085e1f1f0
commit
f914be79ab
|
@ -498,13 +498,6 @@ static int centrino_cpu_init(struct cpufreq_policy *policy)
|
|||
if (cpu->x86_vendor != X86_VENDOR_INTEL || !cpu_has(cpu, X86_FEATURE_EST))
|
||||
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 cpufreq_policy *policy)
|
|||
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 "
|
||||
|
|
Loading…
Reference in New Issue