[PATCH v3 0/3] Support for ASUS egpu, dpgu disable, panel overdrive

From: Luke D. Jones
Date: Fri Aug 06 2021 - 22:37:29 EST


This patch series adds support for some functions that are found on newer
ASUS gaming laptops:

- Panel overdrive: Some laptops can drive the LCD matrix slightly faster
to eliminate or reduce ghosting artifacts

- dGPU disable: ASUS added a function in ACPI to disable or enable the dGPU
which removes it from the PCI bus. Presumably this was to help prevent
Windows apps from using the dGPU when the user didn't want them to but
because of how it works it also means that when rebooted to Linux the dGPU
no-longer exits. This patch enables a user to echo 0/1 to a WMI path to
re-enable it (or disable, but the drivers *must* be unloaded first).

- eGPU enable: The ASUS x-flow lpatop has an iGPU, a dGPU, and an optional
eGPU. This patch enables the user to echo 0/1 to a WMI path to enable or
disable the eGPU. In ACPI this also appears to remove the dGPU from the
PCI bus.

All of the above patches have been tested over the course of a few months.
There is a small possibility of user error perhaps, where the user tries to
enable or disable the dGPU/eGPU while drivers are loaded which would cause
a system hang, but it is expected that almost all users would be using the
`asusctl` daemon and dbus methods to manage the above which then eliminates
these issues.

Luke D. Jones (3):
asus-wmi: Add panel overdrive functionality
asus-wmi: Add dgpu disable method
asus-wmi: Add egpu enable method

drivers/platform/x86/asus-wmi.c | 289 +++++++++++++++++++++
include/linux/platform_data/x86/asus-wmi.h | 7 +
2 files changed, 296 insertions(+)

--
2.31.1