[2.6 Patch] speedstep-lib.c: fix frequency multiplier for Pentium4models 0&1

From: Matthias-Christian Ott
Date: Thu Feb 03 2005 - 09:13:26 EST


The Pentium4 models 0&1 have a longer MSR_EBC_FREQUENCY_ID register as the models 2&3, so the bit shift must be bigger.

Signed-off-by: Matthias-Christian Ott <matthias.christian@xxxxxxxxxx>

diff -Nurp linux-2.6.11-rc3/arch/i386/kernel/cpu/cpufreq/speedstep-lib.c linux-2.6.11-rc3-ott/arch/i386/kernel/cpu/cpufreq/speedstep-lib.c
--- linux-2.6.11-rc3/arch/i386/kernel/cpu/cpufreq/speedstep-lib.c 2004-12-24 22:35:27.000000000 +0100
+++ linux-2.6.11-rc3-ott/arch/i386/kernel/cpu/cpufreq/speedstep-lib.c 2005-02-03 16:04:59.000000000 +0100
@@ -160,7 +160,14 @@ static unsigned int pentium4_get_frequen
printk(KERN_DEBUG "speedstep-lib: couldn't detect FSB speed. Please send an e-mail to <linux@xxxxxxxx>\n");

/* Multiplier. */
- mult = msr_lo >> 24;
+ if (c->x86_model < 2)
+ {
+ mult = msr_lo >> 27;
+ }
+ else
+ {
+ mult = msr_lo >> 24;
+ }

dprintk("P4 - FSB %u kHz; Multiplier %u; Speed %u kHz\n", fsb, mult, (fsb * mult));


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/