aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorHarald Welte <HaraldWelte@viatech.com>2009-11-24 16:53:00 +0100
committerDave Jones <davej@redhat.com>2009-11-24 13:33:32 -0500
commitd77b81974521c82fa6fda38dfff1b491dcc62a32 (patch)
tree7095c29ad0f300e4f8838e195088d1639bf67628 /arch
parenta8a8a669ea13d792296737505adc43ccacf3a648 (diff)
downloadkernel_samsung_tuna-d77b81974521c82fa6fda38dfff1b491dcc62a32.zip
kernel_samsung_tuna-d77b81974521c82fa6fda38dfff1b491dcc62a32.tar.gz
kernel_samsung_tuna-d77b81974521c82fa6fda38dfff1b491dcc62a32.tar.bz2
[CPUFREQ] Enable ACPI PDC handshake for VIA/Centaur CPUs
In commit 0de51088e6a82bc8413d3ca9e28bbca2788b5b53, we introduced the use of acpi-cpufreq on VIA/Centaur CPU's by removing a vendor check for VENDOR_INTEL. However, as it turns out, at least the Nano CPU's also need the PDC (processor driver capabilities) handshake in order to activate the methods required for acpi-cpufreq. Since arch_acpi_processor_init_pdc() contains another vendor check for Intel, the PDC is not initialized on VIA CPU's. The resulting behavior of a current mainline kernel on such systems is: acpi-cpufreq loads and it indicates CPU frequency changes. However, the CPU stays at a single frequency This trivial patch ensures that init_intel_pdc() is called on Intel and VIA/Centaur CPU's alike. Signed-off-by: Harald Welte <HaraldWelte@viatech.com> Signed-off-by: Dave Jones <davej@redhat.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/kernel/acpi/processor.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/x86/kernel/acpi/processor.c b/arch/x86/kernel/acpi/processor.c
index d296f4a..d85d1b2 100644
--- a/arch/x86/kernel/acpi/processor.c
+++ b/arch/x86/kernel/acpi/processor.c
@@ -79,7 +79,8 @@ void arch_acpi_processor_init_pdc(struct acpi_processor *pr)
struct cpuinfo_x86 *c = &cpu_data(pr->id);
pr->pdc = NULL;
- if (c->x86_vendor == X86_VENDOR_INTEL)
+ if (c->x86_vendor == X86_VENDOR_INTEL ||
+ c->x86_vendor == X86_VENDOR_CENTAUR)
init_intel_pdc(pr, c);
return;