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.

No problem.



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