From f58134b4ca4df2b0491cda7f44c261af6e2462f0 Mon Sep 17 00:00:00 2001 From: Sean Rhodes Date: Sat, 5 Mar 2022 10:28:04 +0000 Subject: ec/starlabs: Store the correct value for KLSE when suspending The current code will read the raw value from the EC, which doesn't match the respective setting in CMOS. Switch argument will store the correct value. Signed-off-by: Sean Rhodes Change-Id: I62e0fc3b6fcae72f2d8eacf37a390b4e4b1f0783 Reviewed-on: https://review.coreboot.org/c/coreboot/+/62605 Reviewed-by: Angel Pons Tested-by: build bot (Jenkins) --- src/ec/starlabs/merlin/acpi/suspend.asl | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/ec/starlabs/merlin/acpi/suspend.asl b/src/ec/starlabs/merlin/acpi/suspend.asl index 9f88a05ef6..a753ba630a 100644 --- a/src/ec/starlabs/merlin/acpi/suspend.asl +++ b/src/ec/starlabs/merlin/acpi/suspend.asl @@ -26,8 +26,21 @@ Method (RPTS, 1, Serialized) \_SB.PCI0.LPCB.FLKC = \_SB.PCI0.LPCB.EC.ECRD (RefOf (\_SB.PCI0.LPCB.EC.FLKE)) - \_SB.PCI0.LPCB.KLSC = - \_SB.PCI0.LPCB.EC.ECRD (RefOf (\_SB.PCI0.LPCB.EC.KLSE)) + + Switch (ToInteger (\_SB.PCI0.LPCB.EC.ECRD (RefOf (\_SB.PCI0.LPCB.EC.KLSE)))) + { + // 0x00 == Disabled == 0x00 + // 0xdd == Enabled == 0x01 + Case (0x00) + { + \_SB.PCI0.LPCB.KLSC = 0x00 + } + Case (0xdd) + { + \_SB.PCI0.LPCB.KLSC = 0x01 + } + } + \_SB.PCI0.LPCB.KLBC = \_SB.PCI0.LPCB.EC.ECRD (RefOf (\_SB.PCI0.LPCB.EC.KLBE)) } -- cgit v1.2.3