Skip to content

Commit 7616da0

Browse files
committed
drivers/gfx/nvidia: Adjust GC6 Exit timings
- Increase delay between de-asserting RST# and enabling L0 to ensure that power is up and stable - Check for vendor ID to known when device is ready on the bus to continue as soon as possible Change-Id: I4f18a1b201e9ec610f93814fc2c8f1e12faa14fd Signed-off-by: Tim Crawford <[email protected]>
1 parent dda426e commit 7616da0

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

src/drivers/gfx/nvidia/acpi/common/power.asl

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
/* SPDX-License-Identifier: GPL-2.0-only */
22

3+
#include <device/pci_ids.h>
4+
35
//TODO: evaluate sleeps
46

57
OperationRegion (PCIC, PCI_Config, 0x00, 0xFF)
68
Field (PCIC, DwordAcc, NoLock, Preserve) {
9+
NVID, 16,
10+
NDID, 16,
711
Offset (0x40),
812
SSID, 32, // Subsystem vendor and product ID
913
}
@@ -31,11 +35,21 @@ Method(GC6O, 0, Serialized) {
3135
// Bring GPU out of reset
3236
Printf(" Bring GPU out of reset")
3337
STXS(DGPU_RST_N)
34-
Sleep(5)
38+
Sleep(10)
3539

3640
// Exit L23
3741
^^L23D()
38-
Sleep(5)
42+
43+
// Wait for GPU to appear on the bus
44+
Local0 = 50
45+
While (NVID != PCI_VID_NVIDIA) {
46+
If (Local0 == 0) {
47+
Break
48+
}
49+
50+
Stall (100)
51+
Local0--
52+
}
3953

4054
Printf(" GPU GC6O FINISH")
4155
}

0 commit comments

Comments
 (0)