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

Re: Centrino CpuFreq

Anders Breindahl schrieb:

On Thursday 09 December 2004 23:43, Dieter Jäger wrote:

I found a similar issue when I accidently loaded the "wrong" cpufreq driver for P4 with powernowd. Suddenly /proc/cpuinfo showed frequencies down to 200 MHz (the Bogomips also went down). So I searched a little bit. People seem to think that those 600Mhz is kind of hardcoded to the Centrino chipset. Taking a closer look to the Intel Docu I found that the Intel specifications seem to be merely recommendations. Other combinations of Frequency and Voltage are possible. The docu regarding voltages clearly shows that there are voltages possible other than those in the Freq/Voltage table.

I got curious and played around a little bit: On my centrino I could lower the frequency down to 100 Mhz. Lower frequencies caused the cpuinfo display to be messed, but frequency down to 100Mhz seem to be stable. To be clear: Those tricks are not official language! But my accu now works conspiciously longer :-) I do not know wether this can cause some damage so I cannot recommend doing such things.
Best regards

  Dieter Jäger

I am very interested. Please provide a clue to how you did.
Regards, Anders Breindahl.

I did some changes in arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c:
These are the changes I tried: They set a lowest frequency of 100Mhz and should change the core voltage to 0.716V. The 100MHz I found by trial and error, the 0.716V I took from the voltage definitions in the Intel Docu at ftp://download.intel.com/design/mobile/datashts/ . Icannot remember which document, but it is mentioned in the kernel source. The 0.7V did not work on my Laptop (AcerTM660, Centrino 1600).

--- arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c 2004-06-16 07:19:13.000000000 +0200
+++ /tmp/speedstep-centrino.c   2004-11-18 15:22:47.000000000 +0100
@@ -171,6 +171,14 @@
/* Intel Pentium M processor 1.60GHz (Banias) */
static struct cpufreq_frequency_table banias_1600[] =
+ /*      OP( 100,  700), */
+       OP( 100,  716),
+ /*      OP( 100,  732),
+       OP( 100,  748),
+       OP( 100,  764),
+       OP( 100,  796), */
+       OP( 200,  812),
+       OP( 400,  844),
       OP( 600,  956),
       OP( 800, 1036),
       OP(1000, 1164),

Reply to: