ec/google/wilco/acpi: Read message when notifying UCSI

Allows the EC to be properly notified of type-c events like charger
wattage too low (eg),

TEST=build/boot Win11, Linux 6.x on google/drallion

Change-Id: I7a4130cf6f8c24e3f91e327adf1f3e563322c0af
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/77282
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: CoolStar <coolstarorganization@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
CoolStar
2023-03-26 04:33:37 -07:00
committed by Martin L Roth
parent 4a587b8e96
commit 9c80cb81aa
2 changed files with 30 additions and 22 deletions

View File

@ -141,6 +141,9 @@ Method (_Q79, 0, Serialized)
{
If (ISSX == 0) {
Printf ("EC _Q79 UCSI Event")
\_SB.UCSI.RMSG()
Notify (\_SB.UCSI, 0x80)
^UCEP = 0
} Else {

View File

@ -125,31 +125,36 @@ Scope (\_SB)
Case (2)
{
/* Read Message In */
^MGI0 = R (^^UMI0)
^MGI1 = R (^^UMI1)
^MGI2 = R (^^UMI2)
^MGI3 = R (^^UMI3)
^MGI4 = R (^^UMI4)
^MGI5 = R (^^UMI5)
^MGI6 = R (^^UMI6)
^MGI7 = R (^^UMI7)
^MGI8 = R (^^UMI8)
^MGI9 = R (^^UMI9)
^MGIA = R (^^UMIA)
^MGIB = R (^^UMIB)
^MGIC = R (^^UMIC)
^MGID = R (^^UMID)
^MGIE = R (^^UMIE)
^MGIF = R (^^UMIF)
/* Read Status */
^CCI0 = R (^^UCI0)
^CCI1 = R (^^UCI1)
^CCI2 = R (^^UCI2)
^CCI3 = R (^^UCI3)
RMSG()
}
}
Return (Buffer (1) { 0 })
}
Method (RMSG, 0, Serialized){
/* Read Message In */
^MGI0 = R (^^UMI0)
^MGI1 = R (^^UMI1)
^MGI2 = R (^^UMI2)
^MGI3 = R (^^UMI3)
^MGI4 = R (^^UMI4)
^MGI5 = R (^^UMI5)
^MGI6 = R (^^UMI6)
^MGI7 = R (^^UMI7)
^MGI8 = R (^^UMI8)
^MGI9 = R (^^UMI9)
^MGIA = R (^^UMIA)
^MGIB = R (^^UMIB)
^MGIC = R (^^UMIC)
^MGID = R (^^UMID)
^MGIE = R (^^UMIE)
^MGIF = R (^^UMIF)
/* Read Status */
^CCI0 = R (^^UCI0)
^CCI1 = R (^^UCI1)
^CCI2 = R (^^UCI2)
^CCI3 = R (^^UCI3)
}
}
}