]> git.hungrycats.org Git - linux/commitdiff
[CPUFREQ] refix EBLCR FSB only works on Samuel1.
authorDave Jones <davej@redhat.com>
Fri, 10 Oct 2003 21:45:31 +0000 (22:45 +0100)
committerDave Jones <davej@redhat.com>
Fri, 10 Oct 2003 21:45:31 +0000 (22:45 +0100)
Now that longhaul=1 matches more than 1 CPU, this broke.

arch/i386/kernel/cpu/cpufreq/longhaul.c

index fc3035441e878974ed8427e4f079efa62ce92268..4691bb7818ddbdce42b846548717b48d855f7476 100644 (file)
@@ -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: