Felix Held has submitted this change. ( https://review.coreboot.org/c/coreboot/+/73900 )
Change subject: mb/google/brya/acpi: Add support for forcing notifications in DNOT func ......................................................................
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 --- M src/mainboard/google/brya/acpi/gpu_ec.asl M src/mainboard/google/brya/acpi/gpu_top.asl 2 files changed, 27 insertions(+), 4 deletions(-)
Approvals: build bot (Jenkins): Verified Eric Lai: Looks good to me, approved
diff --git a/src/mainboard/google/brya/acpi/gpu_ec.asl b/src/mainboard/google/brya/acpi/gpu_ec.asl index 998d9c0..59875ad 100644 --- a/src/mainboard/google/brya/acpi/gpu_ec.asl +++ b/src/mainboard/google/brya/acpi/gpu_ec.asl @@ -8,6 +8,6 @@ Method (_Q0C, 0, Serialized) { Local0 = ToInteger(GPUD) & EC_D_NOTIFY_MASK - _SB.PCI0.PEG0.PEGP.DNOT (Local0) + _SB.PCI0.PEG0.PEGP.DNOT (Local0, 0) } } diff --git a/src/mainboard/google/brya/acpi/gpu_top.asl b/src/mainboard/google/brya/acpi/gpu_top.asl index e23e3cf..492502c 100644 --- a/src/mainboard/google/brya/acpi/gpu_top.asl +++ b/src/mainboard/google/brya/acpi/gpu_top.asl @@ -40,12 +40,15 @@ } }
- /* 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)