summaryrefslogtreecommitdiff
path: root/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c
diff options
context:
space:
mode:
authorVenkatesh Pallipadi <venkatesh.pallipadi@intel.com>2006-10-03 12:37:42 -0700
committerDave Jones <davej@redhat.com>2006-10-15 19:57:11 -0400
commita6f6e6e6ab464c9d1dff66570b78be2f66d8ba3d (patch)
treea6d56f011279cd84b4bd1bb616d551bb09d32dcc /arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c
parent7650b281b091f39f5e97f13b45ab3813b1526b65 (diff)
downloadlwn-a6f6e6e6ab464c9d1dff66570b78be2f66d8ba3d.tar.gz
lwn-a6f6e6e6ab464c9d1dff66570b78be2f66d8ba3d.zip
[CPUFREQ][7/8] acpi-cpufreq: Fix get of current frequency breakage
Recent speedstep-centrino unification onto acpi-cpufreq patchset broke cpuinfo_cur_freq interface in /sys/../cpuinfo/, when MSR was used for transitions. Attached patch fixes that breakage. Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> Signed-off-by: Dave Jones <davej@redhat.com>
Diffstat (limited to 'arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c')
-rw-r--r--arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c b/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c
index e6513e994088..8b0c7db85a47 100644
--- a/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c
+++ b/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c
@@ -101,10 +101,13 @@ static unsigned extract_io(u32 value, struct acpi_cpufreq_data *data)
static unsigned extract_msr(u32 msr, struct acpi_cpufreq_data *data)
{
int i;
+ struct acpi_processor_performance *perf;
msr &= INTEL_MSR_RANGE;
+ perf = data->acpi_data;
+
for (i = 0; data->freq_table[i].frequency != CPUFREQ_TABLE_END; i++) {
- if (msr == data->freq_table[i].index)
+ if (msr == perf->states[data->freq_table[i].index].status)
return data->freq_table[i].frequency;
}
return data->freq_table[0].frequency;