Re: p4-clockmod not working in 2.6.16

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

Not sure how to do a Signed-off-by but here's the patch.
--- 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 @@
 
 	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 @@
 	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;

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux