[PATCH 001/001] cpufreq: p4_clockmod errata N60 handling is over zealous

From: Tim Phipps
Date: Thu Apr 13 2006 - 09:59:58 EST


From: Tim Phipps <tim@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx>

> > On Wednesday 05 Apr 2006 14:59, Mike Galbraith wrote:
> > > On Wed, 2006-04-05 at 13:02 +0100, Tim Phipps wrote:
> > > > Here's a patch to 2.6.17-rc1 that disables the 12.5% DC on any CPU
> > > > that has N60. The frequencies in the errata are a bit vague so this
> > > > is the safe bet and it only disables one of the eight frequencies
> > > > rather than the current behaviour which disables all of mine!
> > >
> > > Works for me. Perhaps you should update...
> > > dprintk("has errata -- disabling frequencies lower than 2ghz\n");
> > > ...,slap a Signed-off-by: on it and see if it flys.

Signed-off-by: Tim Phipps <tim@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
---
--- linux-2.6.17-rc1/arch/i386/kernel/cpu/cpufreq/p4-clockmod.c.orig
2006-04-10 17:12:23.000000000 +0100
+++ linux-2.6.17-rc1/arch/i386/kernel/cpu/cpufreq/p4-clockmod.c 2006-04-10
17:23:44.000000000 +0100
@@ -17,6 +17,7 @@
*
* Date Errata Description
* 20020525 N44, O17 12.5% or 25% DC causes lockup
+ * 20060410 N60 12.5% DC causes lockup
*
*/

@@ -231,7 +232,7 @@ static int cpufreq_p4_cpu_init(struct cp

case 0x0f29:
has_N60_errata[policy->cpu] = 1;
- dprintk("has errata -- disabling frequencies lower than 2GHz\n");
+ dprintk("has errata -- disabling 12.5%% duty cycle\n");
break;
}

@@ -244,7 +245,7 @@ static int cpufreq_p4_cpu_init(struct cp
for (i=1; (p4clockmod_table[i].frequency != CPUFREQ_TABLE_END); i++) {
if ((i<2) && (has_N44_O17_errata[policy->cpu]))
p4clockmod_table[i].frequency = CPUFREQ_ENTRY_INVALID;
- else if (has_N60_errata[policy->cpu] && ((stock_freq * i)/8) < 2000000)
+ else if ((i<2) && has_N60_errata[policy->cpu])
p4clockmod_table[i].frequency = CPUFREQ_ENTRY_INVALID;
else
p4clockmod_table[i].frequency = (stock_freq * i)/8;
-
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/