summaryrefslogtreecommitdiffstats
path: root/sys/x86
diff options
context:
space:
mode:
authorjkim <jkim@FreeBSD.org>2011-04-27 00:32:35 +0000
committerjkim <jkim@FreeBSD.org>2011-04-27 00:32:35 +0000
commit8e677ed82514e8eea5b0e542a04806bb16fa3176 (patch)
tree97c86bb6c35efdfd526c21f4fe840f6bfcc8dd05 /sys/x86
parent79493720f3e82cb2313e179784850a9d62c4818f (diff)
downloadFreeBSD-src-8e677ed82514e8eea5b0e542a04806bb16fa3176.zip
FreeBSD-src-8e677ed82514e8eea5b0e542a04806bb16fa3176.tar.gz
Use ACPI-supplied CPU frequencies instead of estimated ones as we are about
to use other values from the same table anyway. MFC after: 3 days
Diffstat (limited to 'sys/x86')
-rw-r--r--sys/x86/cpufreq/powernow.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/x86/cpufreq/powernow.c b/sys/x86/cpufreq/powernow.c
index b248cc8..cc62e87 100644
--- a/sys/x86/cpufreq/powernow.c
+++ b/sys/x86/cpufreq/powernow.c
@@ -801,15 +801,13 @@ pn_decode_acpi(device_t dev, device_t perf_dev)
if ((sc->errata & A0_ERRATA) &&
(pn7_fid_to_mult[state.fid] % 10) == 5)
continue;
- state.freq = 100 * pn7_fid_to_mult[state.fid] * sc->fsb;
break;
case PN8_TYPE:
state.fid = ACPI_PN8_CTRL_TO_FID(ctrl);
state.vid = ACPI_PN8_CTRL_TO_VID(ctrl);
- state.freq = 100 * pn8_fid_to_mult[state.fid] * sc->fsb;
break;
}
-
+ state.freq = sets[i].freq * 1000;
state.power = sets[i].power;
j = n;
@@ -841,6 +839,7 @@ pn_decode_acpi(device_t dev, device_t perf_dev)
device_printf(dev, "ACPI MAX frequency not found\n");
return (EINVAL);
}
+ sc->fsb = state.freq / 100 / pn7_fid_to_mult[state.fid];
break;
case PN8_TYPE:
sc->vst = ACPI_PN8_CTRL_TO_VST(ctrl),
@@ -856,6 +855,7 @@ pn_decode_acpi(device_t dev, device_t perf_dev)
if (sc->powernow_max_states >= 2 &&
(sc->powernow_states[sc->powernow_max_states - 2].fid < 8))
return (EINVAL);
+ sc->fsb = state.freq / 100 / pn8_fid_to_mult[state.fid];
break;
}
OpenPOWER on IntegriCloud