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

From: Hans de Goede
Date: Mon Aug 09 2021 - 05:18:49 EST


Hi Luke,

On 8/7/21 4:36 AM, Luke D. Jones wrote:
> 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.

Thank you for the new version, all 3 patches look good to me, but I miss
a changelog in this cover-letter.

Specifically I'm wondering what happened to the following,
which you wrote about in the v1 patch-set thread:

"""
Proper enable of the dGPU again as far as my testing goes works such that:
1. call the ACPI method
2. rescan PCI bus to ensure the device is powered
3. call the ACPI method again to save the setting

But it appears that recent work in-kernel for many things AMD related has broken this for us...
"""

?

Regards,

Hans



>
> 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
>