diff mbox series

[1/1,OEM-5.10] UBUNTU: SAUCE: ACPI: avoid NVIDIA GPU fallen with an _OSI string

Message ID 20210521074919.171774-2-chris.chiu@canonical.com
State New
Headers show
Series Add an _OSI string for the BIOS to | expand

Commit Message

Chris Chiu May 21, 2021, 7:49 a.m. UTC
From: Chris Chiu <chris.chiu@canonical.com>

BugLink: https://bugs.launchpad.net/bugs/1929166

On TGL-H system, the NVIDIA GPU will fall off the bus after exiting
s2idle if the docking station with external display connected is
unplugged when the system is still in s2idle. The system will be
hold by the infinite loop of the Intel Reference BIOS code which is
used to power on the PEG(PCI Express Graphics) and then fail the
power transition for the NVIDIA GPU.

A BIOS workaround is used to skip the clock source control of the
PCIe root port of the NVIDIA GPU with an _OSI string
"Linux-Dell-USB4-NVWakeup"

Signed-off-by: Chris Chiu <chris.chiu@canonical.com>
---
 drivers/acpi/osi.c | 7 +++++++
 1 file changed, 7 insertions(+)
diff mbox series

Patch

diff --git a/drivers/acpi/osi.c b/drivers/acpi/osi.c
index 69f8820cd0a7..d56a0cbbbac8 100644
--- a/drivers/acpi/osi.c
+++ b/drivers/acpi/osi.c
@@ -74,6 +74,13 @@  osi_setup_entries[OSI_STRING_ENTRIES_MAX] __initdata = {
 	 * are going to s2idle.
 	 */
 	{"Linux-Dell-USB4-Wakeup", true},
+	/*
+	 * Linux-Dell-USB4-NVWakeup is used by BIOS to skip the Intel Reference
+	 * ACPI method PGSC which is used for clock source control of the
+	 * PCIe root port of the NV GPU on Tigerlake-H. Keep the clock source
+	 * on to avoid the power transition fail during enter/exit s2idle.
+	 */
+	{"Linux-Dell-USB4-NVWakeup", true},
 };
 
 static u32 acpi_osi_handler(acpi_string interface, u32 supported)