From 2ba886aa6c94990b0708a78c85e3c4f8fb702185 Mon Sep 17 00:00:00 2001 From: Sean Rhodes Date: Thu, 24 Feb 2022 10:43:26 +0000 Subject: [PATCH] ec/starlabs/merlin: Use ECRD function Use ECRD function, instead of getting raw values from emem, to avoid a lack of syncronisation as it uses a mutex. Signed-off-by: Sean Rhodes Change-Id: I31113ef9af3a1e171e3e1f226e7adcfa0fbce61b Reviewed-on: https://review.coreboot.org/c/coreboot/+/62334 Tested-by: build bot (Jenkins) Reviewed-by: Elyes Haouas Reviewed-by: Andy Pont Reviewed-by: Paul Menzel Reviewed-by: Angel Pons --- src/ec/starlabs/merlin/acpi/ac.asl | 2 +- src/ec/starlabs/merlin/acpi/lid.asl | 2 +- src/ec/starlabs/merlin/acpi/suspend.asl | 12 ++++++++---- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/ec/starlabs/merlin/acpi/ac.asl b/src/ec/starlabs/merlin/acpi/ac.asl index 847f872e50..01dcca90a3 100644 --- a/src/ec/starlabs/merlin/acpi/ac.asl +++ b/src/ec/starlabs/merlin/acpi/ac.asl @@ -9,7 +9,7 @@ Device (ADP1) } Method (_PSR, 0) { - PWRS = ECPS & 0x01 + PWRS = (ECRD (RefOf(ECPS)) & 0x01) Return (PWRS) } Method (_PCL, 0) diff --git a/src/ec/starlabs/merlin/acpi/lid.asl b/src/ec/starlabs/merlin/acpi/lid.asl index 936eeed7ec..0eaa2c5bae 100644 --- a/src/ec/starlabs/merlin/acpi/lid.asl +++ b/src/ec/starlabs/merlin/acpi/lid.asl @@ -11,6 +11,6 @@ Device (LID0) { // 0x00 == Closed // 0x01 == Open - Return (^^LSTE) + Return (ECRD (RefOf (LSTE))) } } diff --git a/src/ec/starlabs/merlin/acpi/suspend.asl b/src/ec/starlabs/merlin/acpi/suspend.asl index 08ca787113..2dae8dae68 100644 --- a/src/ec/starlabs/merlin/acpi/suspend.asl +++ b/src/ec/starlabs/merlin/acpi/suspend.asl @@ -7,10 +7,14 @@ Method (RPTS, 1, NotSerialized) If ((Arg0 == 0x04) || (Arg0 == 0x05)) { /* Store current EC settings in CMOS */ - \_SB.PCI0.LPCB.TPLC = \_SB.PCI0.LPCB.EC.TPLE - \_SB.PCI0.LPCB.FLKC = \_SB.PCI0.LPCB.EC.FLKE - \_SB.PCI0.LPCB.KLSC = \_SB.PCI0.LPCB.EC.KLSE - \_SB.PCI0.LPCB.KLBC = \_SB.PCI0.LPCB.EC.KLBE + \_SB.PCI0.LPCB.TPLC = + \_SB.PCI0.LPCB.EC.ECRD (RefOf (\_SB.PCI0.LPCB.EC.TPLE)) + \_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)) + \_SB.PCI0.LPCB.KLBC = + \_SB.PCI0.LPCB.EC.ECRD (RefOf (\_SB.PCI0.LPCB.EC.KLBE)) } }