summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMatt DeVillier <matt.devillier@gmail.com>2017-07-06 17:19:17 -0500
committerMartin Roth <martinroth@google.com>2017-07-08 19:06:00 +0000
commitaa95af6bf0a35a82ed9ae97893e8812e80648b8d (patch)
treea8a02f250d102f455fa409b2d65e8079195bcea2 /src
parentb3d4abe208fb849723ccb22f3deb50f028b98ea0 (diff)
downloadcoreboot-aa95af6bf0a35a82ed9ae97893e8812e80648b8d.tar.gz
coreboot-aa95af6bf0a35a82ed9ae97893e8812e80648b8d.tar.bz2
coreboot-aa95af6bf0a35a82ed9ae97893e8812e80648b8d.zip
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>
Diffstat (limited to 'src')
-rw-r--r--src/ec/smsc/mec1308/acpi/ec.asl42
1 files changed, 36 insertions, 6 deletions
diff --git a/src/ec/smsc/mec1308/acpi/ec.asl b/src/ec/smsc/mec1308/acpi/ec.asl
index a8de9fa1f870..39a27e16071b 100644
--- a/src/ec/smsc/mec1308/acpi/ec.asl
+++ b/src/ec/smsc/mec1308/acpi/ec.asl
@@ -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)