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 <sean@starlabs.systems>
Change-Id: I31113ef9af3a1e171e3e1f226e7adcfa0fbce61b
Reviewed-on: https://review.coreboot.org/c/coreboot/+/62334
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-by: Andy Pont <andy.pont@sdcsystems.com>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
This commit is contained in:
Sean Rhodes 2022-02-24 10:43:26 +00:00 committed by Felix Held
parent 4b2490eed6
commit 2ba886aa6c
3 changed files with 10 additions and 6 deletions

View File

@ -9,7 +9,7 @@ Device (ADP1)
}
Method (_PSR, 0)
{
PWRS = ECPS & 0x01
PWRS = (ECRD (RefOf(ECPS)) & 0x01)
Return (PWRS)
}
Method (_PCL, 0)

View File

@ -11,6 +11,6 @@ Device (LID0)
{
// 0x00 == Closed
// 0x01 == Open
Return (^^LSTE)
Return (ECRD (RefOf (LSTE)))
}
}

View File

@ -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))
}
}