Re: [PATCH v2 1/1] platform/x86: asus-wmi: corrections to egpu safety check

From: Hans de Goede
Date: Wed Aug 30 2023 - 15:03:19 EST


Hi All,

On 8/30/23 13:31, Ilpo Järvinen wrote:
> On Wed, 30 Aug 2023, Luke D. Jones wrote:
>
>> An incorrect if statement was preventing the enablement of the egpu.
>>
>> Fixes: d49f4d1a30ac ("platform/x86: asus-wmi: don't allow eGPU switching if eGPU not connected")
>>
>> Signed-off-by: Luke D. Jones <luke@xxxxxxxxxx>
>
> Please don't leave extra spaces into tags block.
>
>> ---
>> drivers/platform/x86/asus-wmi.c | 15 +++++++--------
>> 1 file changed, 7 insertions(+), 8 deletions(-)
>>
>> diff --git a/drivers/platform/x86/asus-wmi.c b/drivers/platform/x86/asus-wmi.c
>> index 9783893d2d6e..f54178d6f780 100644
>> --- a/drivers/platform/x86/asus-wmi.c
>> +++ b/drivers/platform/x86/asus-wmi.c
>> @@ -726,19 +726,18 @@ static ssize_t egpu_enable_store(struct device *dev,
>> return -EINVAL;
>>
>> err = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_EGPU_CONNECTED);
>> - if (err < 0)
>> - return err;
>> - if (err < 1) {
>> - err = -ENODEV;
>> - pr_warn("Failed to set egpu disable: %d\n", err);
>> + if (err < 0) {
>> + pr_warn("Failed to get egpu connection status: %d\n", err);
>
> So this is the Fixes: part? You should make own patch out of it.
>
>> return err;
>> }
>>
>> if (asus->gpu_mux_mode_available) {
>> result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_GPU_MUX);
>> - if (result < 0)
>> + if (result < 0) {
>> /* An error here may signal greater failure of GPU handling */
>> + pr_warn("Failed to get gpu mux status: %d\n", err);
>> return result;
>> + }
>> if (!result && enable) {
>> err = -ENODEV;
>> pr_warn("Can not enable eGPU when the MUX is in dGPU mode: %d\n", err);
>> @@ -748,12 +747,12 @@ static ssize_t egpu_enable_store(struct device *dev,
>>
>> err = asus_wmi_set_devstate(ASUS_WMI_DEVID_EGPU, enable, &result);
>> if (err) {
>> - pr_warn("Failed to set egpu disable: %d\n", err);
>> + pr_warn("Failed to set egpu state: %d\n", err);
>> return err;
>> }
>>
>> if (result > 1) {
>> - pr_warn("Failed to set egpu disable (retval): 0x%x\n", result);
>> + pr_warn("Failed to set egpu state (retval): 0x%x\n", result);
>> return -EIO;
>> }
>>
>>
>
> These others are good changes too but just not to be made in the same
> patch.

Ilpo, you are right this should have really been 2 patches.

But the other changes are fixes (correction of wrong error messages) too,
which would be good to get out there.

So I've decided to take this as is, so that this can be included in
the main pdx86 pull-req for 6.6:

Thank you for your patch, I've applied this patch to my review-hans
branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=review-hans

Note it will show up in my review-hans branch once I've pushed my
local branch there, which might take a while.

Once I've run some tests on this branch the patches there will be
added to the platform-drivers-x86/for-next branch and eventually
will be included in the pdx86 pull-request to Linus for the next
merge-window.

Regards,

Hans