mb/google/brya/acpi: Add support for forcing notifications in DNOT func

Currently the DNOT function first checks to see if the current DNOT
value has already been reported. Add support to allow forcing regardless
if it had been sent already.

TEST=confirmed that when enabled, all events notify. When disabled, only
events on value change are notified.
BUG=b:271938907
Signed-off-by: Tarun Tuli <taruntuli@google.com>
Change-Id: I7a93cca6a8f922574dd46b46572b230755db9aa7
Reviewed-on: https://review.coreboot.org/c/coreboot/+/73900
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
This commit is contained in:
Tarun Tuli 2023-03-30 14:02:22 +00:00 committed by Felix Held
parent bb7c38a478
commit 4877c1c068
2 changed files with 7 additions and 4 deletions

View File

@ -8,6 +8,6 @@ Scope (\_SB.PCI0.LPCB.EC0)
Method (_Q0C, 0, Serialized)
{
Local0 = ToInteger(GPUD) & EC_D_NOTIFY_MASK
\_SB.PCI0.PEG0.PEGP.DNOT (Local0)
\_SB.PCI0.PEG0.PEGP.DNOT (Local0, 0)
}
}

View File

@ -40,12 +40,15 @@ Scope (\_SB.PCI0.PEG0)
}
}
/* Current D Notify Value, defaults to D1 */
/* Current D Notify Value, defaults to D1
* Arg0 == Shared value
* Arg1 == force notification if no change (0 or 1)
*/
Name (CDNV, D1_EC)
Method (DNOT, 1, Serialized)
Method (DNOT, 2, Serialized)
{
Printf ("EC: GPU D-Notify, %o", Arg0)
If (Arg0 != CDNV)
If ((Arg0 != CDNV) || (Arg1 == 1))
{
CDNV = Arg0
Local0 = CNVD (Arg0)