[PATCH 1/1] ACPI / OSI: Add OEM _OSI string to enable NVidia HDMI audio

Alex Hung alex.hung at canonical.com
Wed Aug 15 03:18:44 UTC 2018

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

Some ThinkPad systems have a power-saving feature that turns off HDMI
audio device in Windows, but NVidia Linux driver does not support this
feature. As a result, HDMI audio will not work on Linux.

A BIOS workaround is added with an OEM_OSI string
"Linux-Lenovo-NV-HDMI-Audio" to power on NVidia HDMI audio when booting.

The form of the OEM _OSI strings is defined by each OEMs and is
discussed in Documentation/acpi/osi.txt.

Signed-off-by: Alex Hung <alex.hung at canonical.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki at intel.com>
(cherry picked from commit 887532ca7ca59fcf0547a79211756791128030a3)
Signed-off-by: Alex Hung <alex.hung at canonical.com>
 drivers/acpi/osi.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/acpi/osi.c b/drivers/acpi/osi.c
index 081e25e66e1c..e83297ed4ff9 100644
--- a/drivers/acpi/osi.c
+++ b/drivers/acpi/osi.c
@@ -66,6 +66,14 @@ osi_setup_entries[OSI_STRING_ENTRIES_MAX] __initdata = {
 	 * be removed if both new and old graphics cards are supported.
 	{"Linux-Dell-Video", true},
+	/*
+	 * Linux-Lenovo-NV-HDMI-Audio is used by BIOS to power on NVidia's HDMI
+	 * audio device which is turned off for power-saving in Windows OS.
+	 * This power management feature observed on some Lenovo Thinkpad
+	 * systems which will not be able to output audio via HDMI without
+	 * a BIOS workaround.
+	 */
+	{"Linux-Lenovo-NV-HDMI-Audio", true},

 static u32 acpi_osi_handler(acpi_string interface, u32 supported)

More information about the kernel-team mailing list