From c38347873ecea0e38c3fbf5f79f33f13b60dee90 Mon Sep 17 00:00:00 2001 From: Tim Wawrzynczak Date: Wed, 20 Jul 2022 12:30:23 -0600 Subject: mb/google/brya/acpi: Poll more frequently in GPPL The full dGPU power-on sequence, when executed from ACPI, is taking roughly 15ms or so, which puts it close to the maximum of 20ms required from the Nvidia spec. Changing the polling period to 100 us instead of 1 ms drastically reduces the time required for this sequence, now taking typically 7 ms or so. This gives a lot more margin during the power on sequence. BUG=b:238466724 TEST=Sequence verified by EE on a scope Signed-off-by: Tim Wawrzynczak Change-Id: I3ba676c5fac983a0c1ad1d60c3863d06ed33fa27 Reviewed-on: https://review.coreboot.org/c/coreboot/+/66020 Reviewed-by: Subrata Banik Tested-by: build bot (Jenkins) Reviewed-by: Eric Lai --- src/mainboard/google/brya/acpi/utility.asl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/mainboard/google/brya/acpi') diff --git a/src/mainboard/google/brya/acpi/utility.asl b/src/mainboard/google/brya/acpi/utility.asl index 1999d33348..9cdfb49c41 100644 --- a/src/mainboard/google/brya/acpi/utility.asl +++ b/src/mainboard/google/brya/acpi/utility.asl @@ -9,14 +9,15 @@ Method (GPPL, 3, Serialized) { Local0 = 0 - While (Local0 < Arg2) + Local1 = Arg2 * 10 + While (Local0 < Local1) { If (\_SB.PCI0.GRXS (Arg0) == Arg1) { Return (0) } Else { Local0++ } - Sleep (1) + Stall (100) } If (Local0 == Arg2) { -- cgit v1.2.3