From 2eb930bb62190e60bffc3aaeb36e2255397b909d Mon Sep 17 00:00:00 2001 From: Dave Jones Date: Fri, 10 Oct 2003 22:45:31 +0100 Subject: [PATCH] [CPUFREQ] refix EBLCR FSB only works on Samuel1. Now that longhaul=1 matches more than 1 CPU, this broke. --- arch/i386/kernel/cpu/cpufreq/longhaul.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/i386/kernel/cpu/cpufreq/longhaul.c b/arch/i386/kernel/cpu/cpufreq/longhaul.c index fc3035441e878..4691bb7818ddb 100644 --- a/arch/i386/kernel/cpu/cpufreq/longhaul.c +++ b/arch/i386/kernel/cpu/cpufreq/longhaul.c @@ -194,6 +194,7 @@ static int guess_fsb(int maxmult) static int __init longhaul_get_ranges (void) { + struct cpuinfo_x86 *c = cpu_data; unsigned long invalue; unsigned int minmult=0, maxmult=0; unsigned int multipliers[32]= { @@ -212,7 +213,10 @@ static int __init longhaul_get_ranges (void) maxmult = longhaul_get_cpu_mult(); rdmsr (MSR_IA32_EBL_CR_POWERON, lo, hi); invalue = (lo & (1<<18|1<<19)) >>18; - fsb = eblcr_fsb_table[invalue]; + if (c->x86_model==6) + fsb = eblcr_fsb_table[invalue]; + else + fsb = guess_fsb(maxmult); break; case 2: -- 2.53.0