[PATCH] platform/x86/amd/pmc: Add Stellaris Slim Gen6 AMD to spurious 8042 quirks list

Werner Sembach posted 1 patch 1 month ago
There is a newer version of this series
drivers/platform/x86/amd/pmc/pmc-quirks.c | 7 +++++++
1 file changed, 7 insertions(+)
[PATCH] platform/x86/amd/pmc: Add Stellaris Slim Gen6 AMD to spurious 8042 quirks list
Posted by Werner Sembach 1 month ago
From: Christoffer Sandberg <cs@tuxedo.de>

Prevents instant wakeup ~1s after suspend

Signed-off-by: Christoffer Sandberg <cs@tuxedo.de>
Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
---
 drivers/platform/x86/amd/pmc/pmc-quirks.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/platform/x86/amd/pmc/pmc-quirks.c b/drivers/platform/x86/amd/pmc/pmc-quirks.c
index 7ffc659b27944..8b8944483b859 100644
--- a/drivers/platform/x86/amd/pmc/pmc-quirks.c
+++ b/drivers/platform/x86/amd/pmc/pmc-quirks.c
@@ -248,6 +248,13 @@ static const struct dmi_system_id fwbug_list[] = {
 			DMI_MATCH(DMI_PRODUCT_NAME, "Lafite Pro V 14M"),
 		}
 	},
+	{
+		.ident = "TUXEDO Stellaris Slim 15 AMD Gen6",
+		.driver_data = &quirk_spurious_8042,
+		.matches = {
+			DMI_MATCH(DMI_BOARD_NAME, "GMxHGxx"),
+		}
+	},
 	{}
 };
 
-- 
2.43.0
Re: [PATCH] platform/x86/amd/pmc: Add Stellaris Slim Gen6 AMD to spurious 8042 quirks list
Posted by Mario Limonciello 1 month ago
On 9/1/2025 11:42 AM, Werner Sembach wrote:
> From: Christoffer Sandberg <cs@tuxedo.de>
> 
> Prevents instant wakeup ~1s after suspend
> 
> Signed-off-by: Christoffer Sandberg <cs@tuxedo.de>
> Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
> ---
>   drivers/platform/x86/amd/pmc/pmc-quirks.c | 7 +++++++
>   1 file changed, 7 insertions(+)
> 
> diff --git a/drivers/platform/x86/amd/pmc/pmc-quirks.c b/drivers/platform/x86/amd/pmc/pmc-quirks.c
> index 7ffc659b27944..8b8944483b859 100644
> --- a/drivers/platform/x86/amd/pmc/pmc-quirks.c
> +++ b/drivers/platform/x86/amd/pmc/pmc-quirks.c
> @@ -248,6 +248,13 @@ static const struct dmi_system_id fwbug_list[] = {
>   			DMI_MATCH(DMI_PRODUCT_NAME, "Lafite Pro V 14M"),
>   		}
>   	},
> +	{
> +		.ident = "TUXEDO Stellaris Slim 15 AMD Gen6",
> +		.driver_data = &quirk_spurious_8042,
> +		.matches = {
> +			DMI_MATCH(DMI_BOARD_NAME, "GMxHGxx"),
> +		}
> +	},
>   	{}
>   };
>   

FYI - this seems to conflict with other changes on review-ilpo-fixes and 
fixes branches.

https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/commit/drivers/platform/x86/amd/pmc/pmc-quirks.c?h=review-ilpo-fixes&id=c96f86217bb28e019403bb8f59eacd8ad5a7ad1a

Also - a few other comments.

1) Do you have line of sight to a firmware (BIOS or EC) fix?  If so; it 
would be better to specify a specific firmware release that is affected.

2) Shouldn't you also have DMI_SYS_VENDOR or some other matching keys 
else set?  Or is it really all these boards with this specific name?
Re: [PATCH] platform/x86/amd/pmc: Add Stellaris Slim Gen6 AMD to spurious 8042 quirks list
Posted by Werner Sembach 1 month ago
Am 02.09.25 um 16:15 schrieb Mario Limonciello:
> On 9/1/2025 11:42 AM, Werner Sembach wrote:
>> From: Christoffer Sandberg <cs@tuxedo.de>
>>
>> Prevents instant wakeup ~1s after suspend
>>
>> Signed-off-by: Christoffer Sandberg <cs@tuxedo.de>
>> Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
>> ---
>>   drivers/platform/x86/amd/pmc/pmc-quirks.c | 7 +++++++
>>   1 file changed, 7 insertions(+)
>>
>> diff --git a/drivers/platform/x86/amd/pmc/pmc-quirks.c 
>> b/drivers/platform/x86/amd/pmc/pmc-quirks.c
>> index 7ffc659b27944..8b8944483b859 100644
>> --- a/drivers/platform/x86/amd/pmc/pmc-quirks.c
>> +++ b/drivers/platform/x86/amd/pmc/pmc-quirks.c
>> @@ -248,6 +248,13 @@ static const struct dmi_system_id fwbug_list[] = {
>>               DMI_MATCH(DMI_PRODUCT_NAME, "Lafite Pro V 14M"),
>>           }
>>       },
>> +    {
>> +        .ident = "TUXEDO Stellaris Slim 15 AMD Gen6",
>> +        .driver_data = &quirk_spurious_8042,
>> +        .matches = {
>> +            DMI_MATCH(DMI_BOARD_NAME, "GMxHGxx"),
>> +        }
>> +    },
>>       {}
>>   };
>
> FYI - this seems to conflict with other changes on review-ilpo-fixes and fixes 
> branches.
>
> https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/commit/drivers/platform/x86/amd/pmc/pmc-quirks.c?h=review-ilpo-fixes&id=c96f86217bb28e019403bb8f59eacd8ad5a7ad1a 
>
Sorry, i will rebase and send a v2.
>
> Also - a few other comments.
>
> 1) Do you have line of sight to a firmware (BIOS or EC) fix?  If so; it would 
> be better to specify a specific firmware release that is affected.

No

@Christoffer you have more knowledge of how realistic it is to get this fixed by 
the odm?

But even then, we still don't have fwupd support to get the fw update out easily

>
> 2) Shouldn't you also have DMI_SYS_VENDOR or some other matching keys else 
> set?  Or is it really all these boards with this specific name?

I was following the style of the i8042 quirk list where we also always only did 
boardnames

Ofc we only tested the boards the odm has sent to us

best regards,

Werner Sembach

Re: [PATCH] platform/x86/amd/pmc: Add Stellaris Slim Gen6 AMD to spurious 8042 quirks list
Posted by Mario Limonciello 1 month ago
On 9/2/2025 9:37 AM, Werner Sembach wrote:
> 
> Am 02.09.25 um 16:15 schrieb Mario Limonciello:
>> On 9/1/2025 11:42 AM, Werner Sembach wrote:
>>> From: Christoffer Sandberg <cs@tuxedo.de>
>>>
>>> Prevents instant wakeup ~1s after suspend
>>>
>>> Signed-off-by: Christoffer Sandberg <cs@tuxedo.de>
>>> Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
>>> ---
>>>   drivers/platform/x86/amd/pmc/pmc-quirks.c | 7 +++++++
>>>   1 file changed, 7 insertions(+)
>>>
>>> diff --git a/drivers/platform/x86/amd/pmc/pmc-quirks.c b/drivers/ 
>>> platform/x86/amd/pmc/pmc-quirks.c
>>> index 7ffc659b27944..8b8944483b859 100644
>>> --- a/drivers/platform/x86/amd/pmc/pmc-quirks.c
>>> +++ b/drivers/platform/x86/amd/pmc/pmc-quirks.c
>>> @@ -248,6 +248,13 @@ static const struct dmi_system_id fwbug_list[] = {
>>>               DMI_MATCH(DMI_PRODUCT_NAME, "Lafite Pro V 14M"),
>>>           }
>>>       },
>>> +    {
>>> +        .ident = "TUXEDO Stellaris Slim 15 AMD Gen6",
>>> +        .driver_data = &quirk_spurious_8042,
>>> +        .matches = {
>>> +            DMI_MATCH(DMI_BOARD_NAME, "GMxHGxx"),
>>> +        }
>>> +    },
>>>       {}
>>>   };
>>
>> FYI - this seems to conflict with other changes on review-ilpo-fixes 
>> and fixes branches.
>>
>> https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform- 
>> drivers-x86.git/commit/drivers/platform/x86/amd/pmc/pmc-quirks.c? 
>> h=review-ilpo-fixes&id=c96f86217bb28e019403bb8f59eacd8ad5a7ad1a
> Sorry, i will rebase and send a v2.
>>
>> Also - a few other comments.
>>
>> 1) Do you have line of sight to a firmware (BIOS or EC) fix?  If so; 
>> it would be better to specify a specific firmware release that is 
>> affected.
> 
> No
> 
> @Christoffer you have more knowledge of how realistic it is to get this 
> fixed by the odm?

OK, even if you don't get a solution in the firmware in this generation 
it's good to understand this issue and root cause it so that you can 
have it fixed properly next generation.

It's not always realistic but ideally bringing a new product to market 
shouldn't require a quirk.

> 
> But even then, we still don't have fwupd support to get the fw update 
> out easily
> 

😢

>>
>> 2) Shouldn't you also have DMI_SYS_VENDOR or some other matching keys 
>> else set?  Or is it really all these boards with this specific name?
> 
> I was following the style of the i8042 quirk list where we also always 
> only did boardnames
> 
> Ofc we only tested the boards the odm has sent to us
> 
> best regards,
> 
> Werner Sembach
> 

But this isn't a hardware problem with the board itself, it's a firmware 
problem.  The board ID you're using is just a convenient proxy for it.

I've seen the debugging for a few issues like this and it can be all 
across the board.  A few examples:

* polarity issues
* debounce issues
* incorrectly set PCD (Kinda like a Kconfig for BIOS)


Re: [PATCH] platform/x86/amd/pmc: Add Stellaris Slim Gen6 AMD to spurious 8042 quirks list
Posted by Christoffer Sandberg 1 week, 6 days ago
On 2.9.2025 17:25, Mario Limonciello wrote:
> On 9/2/2025 9:37 AM, Werner Sembach wrote:
>> 
>> Am 02.09.25 um 16:15 schrieb Mario Limonciello:
>>> On 9/1/2025 11:42 AM, Werner Sembach wrote:
>>>> From: Christoffer Sandberg <cs@tuxedo.de>
>>>> 
>>>> Prevents instant wakeup ~1s after suspend
>>>> 
>>>> Signed-off-by: Christoffer Sandberg <cs@tuxedo.de>
>>>> Signed-off-by: Werner Sembach <wse@tuxedocomputers.com>
>>>> ---
>>>>   drivers/platform/x86/amd/pmc/pmc-quirks.c | 7 +++++++
>>>>   1 file changed, 7 insertions(+)
>>>> 
>>>> diff --git a/drivers/platform/x86/amd/pmc/pmc-quirks.c b/drivers/ 
>>>> platform/x86/amd/pmc/pmc-quirks.c
>>>> index 7ffc659b27944..8b8944483b859 100644
>>>> --- a/drivers/platform/x86/amd/pmc/pmc-quirks.c
>>>> +++ b/drivers/platform/x86/amd/pmc/pmc-quirks.c
>>>> @@ -248,6 +248,13 @@ static const struct dmi_system_id fwbug_list[] 
>>>> = {
>>>>               DMI_MATCH(DMI_PRODUCT_NAME, "Lafite Pro V 14M"),
>>>>           }
>>>>       },
>>>> +    {
>>>> +        .ident = "TUXEDO Stellaris Slim 15 AMD Gen6",
>>>> +        .driver_data = &quirk_spurious_8042,
>>>> +        .matches = {
>>>> +            DMI_MATCH(DMI_BOARD_NAME, "GMxHGxx"),
>>>> +        }
>>>> +    },
>>>>       {}
>>>>   };
>>> 
>>> FYI - this seems to conflict with other changes on review-ilpo-fixes 
>>> and fixes branches.
>>> 
>>> https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform- 
>>> drivers-x86.git/commit/drivers/platform/x86/amd/pmc/pmc-quirks.c? 
>>> h=review-ilpo-fixes&id=c96f86217bb28e019403bb8f59eacd8ad5a7ad1a
>> Sorry, i will rebase and send a v2.
>>> 
>>> Also - a few other comments.
>>> 
>>> 1) Do you have line of sight to a firmware (BIOS or EC) fix?  If so; 
>>> it would be better to specify a specific firmware release that is 
>>> affected.
>> 
>> No
>> 
>> @Christoffer you have more knowledge of how realistic it is to get 
>> this fixed by the odm?
> 
> OK, even if you don't get a solution in the firmware in this
> generation it's good to understand this issue and root cause it so
> that you can have it fixed properly next generation.
> 
> It's not always realistic but ideally bringing a new product to market
> shouldn't require a quirk.
> 

Agreed, would of course rather fix it in firmware when it's a firmware 
problem. Sometimes, like the case for the previous patch (for 
InfinityBook Pro Gen10) it was unfortunately not possible to locate and 
solve in time. Was even briefly thought to be fixed before launch 
because issue disappeared (in that configuration).

Another curiosity, this second quirk entry (for the Stellaris Slim Gen6) 
is actually for previous generation. The issue didn't surface until a 
major kernel jump. Initially thought to be a regression, however, 
bisecting ended up in kernels where the issue happened seeming randomly 
every ~2-3 suspend/resume cycle. Therefore currently thought to be a 
system configuration dependent race condition whether issue triggers or 
not.

>> 
>> But even then, we still don't have fwupd support to get the fw update 
>> out easily
>> 
> 
> 😢
> 
>>> 
>>> 2) Shouldn't you also have DMI_SYS_VENDOR or some other matching keys 
>>> else set?  Or is it really all these boards with this specific name?
>> 
>> I was following the style of the i8042 quirk list where we also always 
>> only did boardnames
>> 
>> Ofc we only tested the boards the odm has sent to us
>> 
>> best regards,
>> 
>> Werner Sembach
>> 
> 
> But this isn't a hardware problem with the board itself, it's a
> firmware problem.  The board ID you're using is just a convenient
> proxy for it.
> 

Firmware is what we're suspecting as well.

Small update, according to latest info, a write from Linux, on port 60, 
supposedly triggers the interrupt. However, so far I have only seen a 
keyboard reset that is done before suspend and that does not seem to be 
it.

> I've seen the debugging for a few issues like this and it can be all
> across the board.  A few examples:
> 
> * polarity issues
> * debounce issues
> * incorrectly set PCD (Kinda like a Kconfig for BIOS)


Thanks for the ideas, any further insights are of course very welcome.