Re: speedstep-centrino on dothan
From: st3
Date: Thu Jul 07 2005 - 17:03:26 EST
On Wed, 06 Jul 2005 15:58:53 -0400
Bill Davidsen <davidsen@xxxxxxx> wrote:
> st3@xxxxxxxxxx wrote:
[snip]
> > Moreover, I checked on Pentium M 725 and Pentium M 715 that the lowest
> > frequency at which the CPU can be set safely is not the 600MHz given in
> > datasheets, but 400MHz instead, with VID#A, VID#B, VID#C and VID#D (see
> > datasheet for more details) set to 0.908V.
> >
> > I can provide a patch, let me know.
>
> Slower is better
[snip]
Here's a quick trick for getting CPU to lower frequencies than the ones
read from ACPI tables, while still keeping them available.
Just add these lines in centrino_cpu_init_acpi(), in speedstep-centrino.c,
just after (and outside) the first 'for' cycle like this:
for (i=0; i<p.state_count; i++) { ...
centrino_model[cpu]->op_points[p.state_count - 1].index = 0x040D;
centrino_model[cpu]->op_points[p.state_count - 1].frequency = 400000;
p.states[p.state_count - 1].core_frequency = 400;
This will enable 400MHz at 908mV, which I found to be useful on Dothan
CPUs. If you want to get values for other frequencies/voltages, just use
something like:
#include <stdio.h>
int main() {
unsigned int index, frequency, voltage
index = (((frequency)/100) << 8) | ((voltage - 700) / 16);
printf ("%u\n", index);
}
frequency is expressed in MHz, voltage in mV, index is the value for
centrino_model[cpu]->op_points[y].index <- remember to change this y if you
want to add multiple frequencies besides the ACPI ones; for example, if you
want 500MHz at 940mV, you could add:
centrino_model[cpu]->op_points[p.state_count - 2].index = 0x1295;
centrino_model[cpu]->op_points[p.state_count - 2].index = 500000;
p.states[p.state_count - 2].core_frequency = 500;
Sorry if I have been off-topic.
--
ciao
st3
-
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/