Matt DeVillier has uploaded this change for review. ( https://review.coreboot.org/20482
Change subject: ec/mec1308: Fix fan control ACPI ......................................................................
ec/mec1308: Fix fan control ACPI
Returing FSL# for _STA causes Windows to BSOD. Re-work _STA to instead return 0/1 based on FLVL, using google/beltino as a model.
Also correct serialization type for _CRS.
Change-Id: Ibf3af15bab3590f7c1c4401e1978dbcf2a495216 Signed-off-by: Matt DeVillier matt.devillier@gmail.com --- M src/ec/smsc/mec1308/acpi/ec.asl 1 file changed, 36 insertions(+), 6 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/82/20482/1
diff --git a/src/ec/smsc/mec1308/acpi/ec.asl b/src/ec/smsc/mec1308/acpi/ec.asl index a8de9fa..697e4b1 100644 --- a/src/ec/smsc/mec1308/acpi/ec.asl +++ b/src/ec/smsc/mec1308/acpi/ec.asl @@ -58,7 +58,7 @@ FCOS, 1, // Fan Speed OS Control }
- Method (_CRS, 0, NotSerialized) + Method (_CRS, 0, Serialized) { Name (ECMD, ResourceTemplate() { @@ -87,7 +87,13 @@
PowerResource (FNP0, 0, 0) { - Method (_STA) { Return (FSL0) } + Method (_STA) { + If (LLessEqual (\FLVL, 0)) { + Return (One) + } Else { + Return (Zero) + } + } Method (_ON) { If (FCOS) { Store (One, FSL0) @@ -106,7 +112,13 @@
PowerResource (FNP1, 0, 0) { - Method (_STA) { Return (FSL1) } + Method (_STA) { + If (LLessEqual (\FLVL, 0)) { + Return (One) + } Else { + Return (Zero) + } + } Method (_ON) { If (FCOS) { Store (One, FSL1) @@ -125,7 +137,13 @@
PowerResource (FNP2, 0, 0) { - Method (_STA) { Return (FSL2) } + Method (_STA) { + If (LLessEqual (\FLVL, 0)) { + Return (One) + } Else { + Return (Zero) + } + } Method (_ON) { If (FCOS) { Store (One, FSL2) @@ -144,7 +162,13 @@
PowerResource (FNP3, 0, 0) { - Method (_STA) { Return (FSL3) } + Method (_STA) { + If (LLessEqual (\FLVL, 0)) { + Return (One) + } Else { + Return (Zero) + } + } Method (_ON) { If (FCOS) { Store (One, FSL3) @@ -163,7 +187,13 @@
PowerResource (FNP4, 0, 0) { - Method (_STA) { Return (FSL4) } + Method (_STA) { + If (LLessEqual (\FLVL, 0)) { + Return (One) + } Else { + Return (Zero) + } + } Method (_ON) { If (FCOS) { Store (One, FSL4)