Re: [PATCH v3 0/3] Support for ASUS egpu, dpgu disable, panel overdrive
From: Hans de Goede
Date: Tue Aug 10 2021 - 03:46:20 EST
<Added platform-driver-x86@xxxxxxxxxxxxxxx to the Cc>
On 8/9/21 11:49 PM, Luke Jones wrote:
> On Mon, Aug 9 2021 at 11:18:38 +0200, Hans de Goede <hdegoede@xxxxxxxxxx> wrote:
>> 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...
> Apologies, I've been a bit too busy to remember some things.
> The changes are mostly to satisfy review. The dGPU patch has removed the
> dual call to the ACPI method, it was not working as expected. I will revisit
> this when 5.14 kernel is released.
Ok, so from my pov these patches are ready for merging now, but since this
is still somewhat of an open question, I wonder if they are also ready
for merging from your pov, or if you want to fist sort this out ?
> I'll be sure to remember the changelog next time I submit a patch, sorry.
>>> 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(+)