ACPI / OSI: Add OEM _OSI string to enable dGPU direct output
diff mbox series

Message ID 20190107161321.16868-2-alex.hung@canonical.com
State Accepted
Headers show
Series
  • ACPI / OSI: Add OEM _OSI string to enable dGPU direct output
Related show

Commit Message

Alex Hung Jan. 7, 2019, 4:13 p.m. UTC
For HP Inc. mobile workstation with hybrid graphics support, dGPU can
directly output to external monitors; however, Nvidia and AMD's Linux
drivers aren't able to support this feature.

The OEM _OSI string "Linux-HPI-Hybrid-Graphics" is used by BIOS to
implement dGPU direct output to external monitors.

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

BugLink: http://bugs.launchpad.net/bugs/1810702

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

Comments

Colin King Jan. 7, 2019, 4:27 p.m. UTC | #1
On 07/01/2019 16:13, Alex Hung wrote:
> For HP Inc. mobile workstation with hybrid graphics support, dGPU can
> directly output to external monitors; however, Nvidia and AMD's Linux
> drivers aren't able to support this feature.
> 
> The OEM _OSI string "Linux-HPI-Hybrid-Graphics" is used by BIOS to
> implement dGPU direct output to external monitors.
> 
> The form of the OEM _OSI strings is defined by each OEMs and is
> discussed in Documentation/acpi/osi.txt.
> 
> BugLink: http://bugs.launchpad.net/bugs/1810702
> 
> Signed-off-by: Alex Hung <alex.hung@canonical.com>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> (cherry picked from commit 28586a51eea666d5531bcaef2f68e4abbd87242c)
> Signed-off-by: Alex Hung <alex.hung@canonical.com>
> ---
>  drivers/acpi/osi.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/drivers/acpi/osi.c b/drivers/acpi/osi.c
> index e83297e..09053a2 100644
> --- a/drivers/acpi/osi.c
> +++ b/drivers/acpi/osi.c
> @@ -74,6 +74,13 @@ osi_setup_entries[OSI_STRING_ENTRIES_MAX] __initdata = {
>  	 * a BIOS workaround.
>  	 */
>  	{"Linux-Lenovo-NV-HDMI-Audio", true},
> +	/*
> +	 * Linux-HPI-Hybrid-Graphics is used by BIOS to enable dGPU to
> +	 * output video directly to external monitors on HP Inc. mobile
> +	 * workstations as Nvidia and AMD VGA drivers provide limited
> +	 * hybrid graphics supports.
> +	 */
> +	{"Linux-HPI-Hybrid-Graphics", true},
>  };
>  
>  static u32 acpi_osi_handler(acpi_string interface, u32 supported)
> 

Oh, another fun OEM _OSI string. Fun.

Clean upstream cherry pick and I trust the committer :-)

Acked-by: Colin Ian King <colin.king@canonical.com>

Do we need this for Cosmic etc?

Patch
diff mbox series

diff --git a/drivers/acpi/osi.c b/drivers/acpi/osi.c
index e83297e..09053a2 100644
--- a/drivers/acpi/osi.c
+++ b/drivers/acpi/osi.c
@@ -74,6 +74,13 @@  osi_setup_entries[OSI_STRING_ENTRIES_MAX] __initdata = {
 	 * a BIOS workaround.
 	 */
 	{"Linux-Lenovo-NV-HDMI-Audio", true},
+	/*
+	 * Linux-HPI-Hybrid-Graphics is used by BIOS to enable dGPU to
+	 * output video directly to external monitors on HP Inc. mobile
+	 * workstations as Nvidia and AMD VGA drivers provide limited
+	 * hybrid graphics supports.
+	 */
+	{"Linux-HPI-Hybrid-Graphics", true},
 };
 
 static u32 acpi_osi_handler(acpi_string interface, u32 supported)