From mboxrd@z Thu Jan 1 00:00:00 1970 From: Venkatesh Pallipadi Subject: [PATCH 7/8]cpufreq:acpi-cpufreq: Fix get of current frequency breakage Date: Tue, 3 Oct 2006 12:37:42 -0700 Message-ID: <20061003123741.E31827@unix-os.sc.intel.com> Mime-Version: 1.0 Return-path: Content-Disposition: inline List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: cpufreq-bounces@lists.linux.org.uk Errors-To: cpufreq-bounces+glkc-cpufreq=m.gmane.org+glkc-cpufreq=m.gmane.org@lists.linux.org.uk Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Dave Jones Cc: cpufreq 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 Index: linux-2.6.18/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c =================================================================== --- linux-2.6.18.orig/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c +++ linux-2.6.18/arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c @@ -101,10 +101,13 @@ static unsigned extract_io(u32 value, st 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;