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>
Reviewed-on: https://review.coreboot.org/20482
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
Matt DeVillier 2017-07-06 17:19:17 -05:00 committed by Martin Roth
parent b3d4abe208
commit aa95af6bf0
1 changed files with 36 additions and 6 deletions

View File

@ -58,7 +58,7 @@ Device (EC0)
FCOS, 1, // Fan Speed OS Control
}
Method (_CRS, 0, NotSerialized)
Method (_CRS, 0, Serialized)
{
Name (ECMD, ResourceTemplate()
{
@ -87,7 +87,13 @@ Device (EC0)
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 @@ Device (EC0)
PowerResource (FNP1, 0, 0)
{
Method (_STA) { Return (FSL1) }
Method (_STA) {
If (LLessEqual (\FLVL, 1)) {
Return (One)
} Else {
Return (Zero)
}
}
Method (_ON) {
If (FCOS) {
Store (One, FSL1)
@ -125,7 +137,13 @@ Device (EC0)
PowerResource (FNP2, 0, 0)
{
Method (_STA) { Return (FSL2) }
Method (_STA) {
If (LLessEqual (\FLVL, 2)) {
Return (One)
} Else {
Return (Zero)
}
}
Method (_ON) {
If (FCOS) {
Store (One, FSL2)
@ -144,7 +162,13 @@ Device (EC0)
PowerResource (FNP3, 0, 0)
{
Method (_STA) { Return (FSL3) }
Method (_STA) {
If (LLessEqual (\FLVL, 3)) {
Return (One)
} Else {
Return (Zero)
}
}
Method (_ON) {
If (FCOS) {
Store (One, FSL3)
@ -163,7 +187,13 @@ Device (EC0)
PowerResource (FNP4, 0, 0)
{
Method (_STA) { Return (FSL4) }
Method (_STA) {
If (LLessEqual (\FLVL, 4)) {
Return (One)
} Else {
Return (Zero)
}
}
Method (_ON) {
If (FCOS) {
Store (One, FSL4)