Subject: [PATCH] x86: fix cpu MHz reporting for AMD family 0x11

Fix cpu MHz reporting for AMD family 0x11 when powernow-k8 is
disabled.

Just adhere to the CONSTANT_TSC feature bit for AMD CPUs when deciding
whether cpu_khz needs calibration. The additional check for CPU family
is not needed and prevents calibration for future CPUs.

Signed-off-by: Andreas Herrmann <[email protected]>

---
diff --git a/arch/x86/kernel/time_64.c b/arch/x86/kernel/time_64.c
index 61b17f5..0380795 100644
--- a/arch/x86/kernel/time_64.c
+++ b/arch/x86/kernel/time_64.c
@@ -120,8 +120,7 @@ void __init time_init(void)

cpu_khz = tsc_khz;
if (cpu_has(&boot_cpu_data, X86_FEATURE_CONSTANT_TSC) &&
- boot_cpu_data.x86_vendor == X86_VENDOR_AMD &&
- boot_cpu_data.x86 == 16)
+ (boot_cpu_data.x86_vendor == X86_VENDOR_AMD))
cpu_khz = calculate_cpu_khz();

if (unsynchronized_tsc())



2008-01-25 12:42:19

by Ingo Molnar

[permalink] [raw]
Subject: Re: [PATCH] x86: fix cpu MHz reporting for AMD family 0x11


* Andreas Herrmann3 <[email protected]> wrote:

> Fix cpu MHz reporting for AMD family 0x11 when powernow-k8 is
> disabled.
>
> Just adhere to the CONSTANT_TSC feature bit for AMD CPUs when deciding
> whether cpu_khz needs calibration. The additional check for CPU family
> is not needed and prevents calibration for future CPUs.

> cpu_khz = tsc_khz;
> if (cpu_has(&boot_cpu_data, X86_FEATURE_CONSTANT_TSC) &&
> - boot_cpu_data.x86_vendor == X86_VENDOR_AMD &&
> - boot_cpu_data.x86 == 16)
> + (boot_cpu_data.x86_vendor == X86_VENDOR_AMD))
> cpu_khz = calculate_cpu_khz();

thanks Andreas, applied!

Ingo