mb/samsung/stumpy: Fix ACPI fan control FNP4 power resource
The FNP4 power resource (minimum fan level) had both _ON and _OFF methods setting the same state (\FLVL = 4), violating ACPI power resource requirements where _OFF must transition to a state where _STA eventually returns 0 (OFF). This violation causes Windows to reject the thermal zone entirely due to its stricter ACPI compliance checking, resulting in non-functional fan control. Linux tolerates this bug, which is why it went unnoticed. Since FAN4 represents the minimum cooling state with no lower state to transition to, the correct implementation is to make _OFF a no-op. This maintains proper ACPI state machine semantics: after _ON, _STA returns 1; after _OFF, the system remains at minimum cooling (which is already the lowest valid state). This enables proper fan control operation on Windows while maintaining Linux compatibility. TEST=build/boot Win10/Linux on samsung/stumpy, verify fan functional under Windows 10, continues to work correctly under Linux. Change-Id: I00431490ae080226d526c1e217bb10e8ded64c3c Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/89842 Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
f12f292d91
commit
8ce9255f82
1 changed files with 3 additions and 3 deletions
|
|
@ -214,9 +214,9 @@ Scope (\_TZ)
|
|||
Notify (\_TZ.THRM, 0x81)
|
||||
}
|
||||
Method (_OFF) {
|
||||
\FLVL = 4
|
||||
\_SB.PCI0.LPCB.SIO.ENVC.F3PS = \F4PW
|
||||
Notify (\_TZ.THRM, 0x81)
|
||||
// FAN4 is the minimum cooling state (idle/lowest fan speed)
|
||||
// There is no lower state to transition to, so _OFF is a no-op
|
||||
// to maintain proper ACPI power resource state machine semantics
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue