aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDuncan Laurie <dlaurie@chromium.org>2012-07-16 12:14:49 -0700
committerRonald G. Minnich <rminnich@gmail.com>2012-07-26 20:32:10 +0200
commitd6aca0b7b14780a03c83e283f940f56c474a77dd (patch)
treea3c37ea32f071f83458a37558cfc6049c086ee1a /src
parent0eefa005030a70f5c691155b931bb778ad1fb2ae (diff)
ACPI: Add a method to notify OS to re-read _PPC
Split this behavior out from PNOT() so the OS can update _PPC limit without re-reading C-state tables. Change-Id: I81b9111a4866f6b9916f74ac57a3caefaa77c565 Signed-off-by: Duncan Laurie <dlaurie@chromium.org> Reviewed-on: http://review.coreboot.org/1342 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/cpu/intel/model_206ax/acpi/cpu.asl27
1 files changed, 19 insertions, 8 deletions
diff --git a/src/cpu/intel/model_206ax/acpi/cpu.asl b/src/cpu/intel/model_206ax/acpi/cpu.asl
index a9d5eebaec..558a9d3663 100644
--- a/src/cpu/intel/model_206ax/acpi/cpu.asl
+++ b/src/cpu/intel/model_206ax/acpi/cpu.asl
@@ -33,29 +33,40 @@ External (\_PR.CPU7, DeviceObj)
Method (PNOT)
{
If (LGreaterEqual (\PCNT, 2)) {
- Notify (\_PR.CPU0, 0x80) // _PPC
Notify (\_PR.CPU0, 0x81) // _CST
- Notify (\_PR.CPU1, 0x80) // _PPC
Notify (\_PR.CPU1, 0x81) // _CST
}
If (LGreaterEqual (\PCNT, 4)) {
- Notify (\_PR.CPU2, 0x80) // _PPC
Notify (\_PR.CPU2, 0x81) // _CST
- Notify (\_PR.CPU3, 0x80) // _PPC
Notify (\_PR.CPU3, 0x81) // _CST
}
If (LGreaterEqual (\PCNT, 8)) {
- Notify (\_PR.CPU4, 0x80) // _PPC
Notify (\_PR.CPU4, 0x81) // _CST
- Notify (\_PR.CPU5, 0x80) // _PPC
Notify (\_PR.CPU5, 0x81) // _CST
- Notify (\_PR.CPU6, 0x80) // _PPC
Notify (\_PR.CPU6, 0x81) // _CST
- Notify (\_PR.CPU7, 0x80) // _PPC
Notify (\_PR.CPU7, 0x81) // _CST
}
}
+/* Notify OS to re-read CPU _PPC limit, assuming ^2 CPU count */
+Method (PPCN)
+{
+ If (LGreaterEqual (\PCNT, 2)) {
+ Notify (\_PR.CPU0, 0x80) // _PPC
+ Notify (\_PR.CPU1, 0x80) // _PPC
+ }
+ If (LGreaterEqual (\PCNT, 4)) {
+ Notify (\_PR.CPU2, 0x80) // _PPC
+ Notify (\_PR.CPU3, 0x80) // _PPC
+ }
+ If (LGreaterEqual (\PCNT, 8)) {
+ Notify (\_PR.CPU4, 0x80) // _PPC
+ Notify (\_PR.CPU5, 0x80) // _PPC
+ Notify (\_PR.CPU6, 0x80) // _PPC
+ Notify (\_PR.CPU7, 0x80) // _PPC
+ }
+}
+
/* Notify OS to re-read Throttle Limit tables, assuming ^2 CPU count */
Method (TNOT)
{