Commit 4551e37e authored by Linus Torvalds's avatar Linus Torvalds

Merge bk://linux-dj.bkbits.net/cpufreq

into laptop.osdl.org:/home/torvalds/v2.5/linux
parents 336a8b22 652af67e
...@@ -196,6 +196,7 @@ static void change_FID(int fid) ...@@ -196,6 +196,7 @@ static void change_FID(int fid)
if (fidvidctl.bits.FID != fid) { if (fidvidctl.bits.FID != fid) {
fidvidctl.bits.SGTC = latency; fidvidctl.bits.SGTC = latency;
fidvidctl.bits.FID = fid; fidvidctl.bits.FID = fid;
fidvidctl.bits.VIDC = 0;
fidvidctl.bits.FIDC = 1; fidvidctl.bits.FIDC = 1;
wrmsrl (MSR_K7_FID_VID_CTL, fidvidctl.val); wrmsrl (MSR_K7_FID_VID_CTL, fidvidctl.val);
} }
...@@ -208,7 +209,9 @@ static void change_VID(int vid) ...@@ -208,7 +209,9 @@ static void change_VID(int vid)
rdmsrl (MSR_K7_FID_VID_CTL, fidvidctl.val); rdmsrl (MSR_K7_FID_VID_CTL, fidvidctl.val);
if (fidvidctl.bits.VID != vid) { if (fidvidctl.bits.VID != vid) {
fidvidctl.bits.SGTC = latency;
fidvidctl.bits.VID = vid; fidvidctl.bits.VID = vid;
fidvidctl.bits.FIDC = 0;
fidvidctl.bits.VIDC = 1; fidvidctl.bits.VIDC = 1;
wrmsrl (MSR_K7_FID_VID_CTL, fidvidctl.val); wrmsrl (MSR_K7_FID_VID_CTL, fidvidctl.val);
} }
...@@ -298,8 +301,14 @@ static int powernow_decode_bios (int maxfid, int startvid) ...@@ -298,8 +301,14 @@ static int powernow_decode_bios (int maxfid, int startvid)
dprintk (" voltage regulator)\n"); dprintk (" voltage regulator)\n");
latency = psb->settlingtime; latency = psb->settlingtime;
if (latency < 100) {
printk (KERN_INFO PFX "BIOS set settling time to %d microseconds."
"Should be at least 100. Correcting.\n", latency);
latency = 100;
}
dprintk (KERN_INFO PFX "Settling Time: %d microseconds.\n", psb->settlingtime); dprintk (KERN_INFO PFX "Settling Time: %d microseconds.\n", psb->settlingtime);
dprintk (KERN_INFO PFX "Has %d PST tables. (Only dumping ones relevant to this CPU).\n", psb->numpst); dprintk (KERN_INFO PFX "Has %d PST tables. (Only dumping ones relevant to this CPU).\n", psb->numpst);
latency *= 100; /* SGTC needs to be in units of 10ns */
p += sizeof (struct psb_s); p += sizeof (struct psb_s);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment