Re: [PATCH 1/2] CPUFREQ: Enable acpi-cpufreq driver for VIA/Centaur CPUs

Michael S. Zick
2009-06-08T14:25:34Z

On Mon June 8 2009, Harald Welte wrote:
> The VIA/Centaur C7, C7-M and Nano CPU's all support ACPI based cpu p-states
> using a MSR interface. The Linux driver just never made use of it, since in
> addition to the check for the EST flag it also checked if the vendor is Intel.
>

It looks like we should modify (conditional on ...MVIAC7 at build, model='d' runtime)
the acpi-cpufreq controls to deal properly with the Model-D adaptive controller.

What probably needs to be done is test if it has been set-up and turn it off
before handing control over to the ACPI - -
The information I have from VIA Tech. says not to use external controls while
the adaptive controller is enabled.

Perhaps the same sort of thing in the 'resume' path - some BIOS may be
enabling the adaptive controller.

Mike
> Signed-off-by: Harald Welte <HaraldWelte@viatech.com>
> ---
> arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c | 3 ++-
> 1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c b/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c
> index 208ecf6..ee03585 100644
> --- a/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c
> +++ b/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c
> @@ -90,7 +90,8 @@ static int check_est_cpu(unsigned int cpuid)
> {
> struct cpuinfo_x86 *cpu = &cpu_data(cpuid);
>
> - if (cpu->x86_vendor != X86_VENDOR_INTEL ||
> + if ((cpu->x86_vendor != X86_VENDOR_INTEL &&
> + cpu->x86_vendor != X86_VENDOR_CENTAUR) ||
> !cpu_has(cpu, X86_FEATURE_EST))
> return 0;
>