Messages in this thread Patch in this message | | | From | Tim Phipps <> | Subject | Re: p4-clockmod not working in 2.6.16 | Date | Wed, 5 Apr 2006 13:02:13 +0100 |
| |
On Tuesday 04 Apr 2006 11:47, Tim Phipps wrote: > On Wed, 2006-03-22 at 06:20, Mike Galbraith wrote: > > On Wed, 2006-03-22 at 06:57 +0100, Edgar Toernig wrote: > > > | N60. Processor May Hang under Certain Frequencies and 12.5% > > > | STPCLK# Duty Cycle > > > | > > > | Problem: If a system de-asserts STPCLK# at a 12.5% duty cycle, > > > | the processor is running below 2 GHz, and the processor thermal > > > | control circuit (TCC) on-demand clock modulation is active, the > > > | processor may hang. This erratum does not occur under the automatic > > > | mode of the TCC. > 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!
Cheers, Tim. --- linux-2.6.17-rc1/arch/i386/kernel/cpu/cpufreq/p4-clockmod.c.orig 2006-04-04 14:54:49.000000000 +0100 +++ linux-2.6.17-rc1/arch/i386/kernel/cpu/cpufreq/p4-clockmod.c 2006-04-04 15:19:02.000000000 +0100 @@ -244,7 +244,7 @@ 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; | |