* [PATCH] platform/x86/amd/pmc: Declare quirk_spurious_8042 for MECHREVO Wujie 14XA (GX4HRXL)
@ 2025-05-06 11:25 Runhua He
2025-05-06 13:29 ` Mario Limonciello
0 siblings, 1 reply; 4+ messages in thread
From: Runhua He @ 2025-05-06 11:25 UTC (permalink / raw)
To: platform-driver-x86
Cc: Mario Limonciello, Rong Zhang, Mingcong Bai, Kexy Biscuit,
Runhua He, Xinhui Yang, Yemu Lu, Shyam Sundar S K, Hans de Goede,
Ilpo Järvinen, linux-kernel
MECHREVO Wujie 14XA (GX4HRXL) wakes up immediately after s2idle entry.
This happens regardless of whether the laptop is plugged into AC power,
or whether any peripheral is plugged into the laptop.
Similar to commit a55bdad5dfd1 ("platform/x86/amd/pmc: Disable keyboard
wakeup on AMD Framework 13"), the MECHREVO Wujie 14XA wakes up almost
instantly after s2idle suspend entry (IRQ1 is the keyboard):
2025-04-18 17:23:57,588 DEBUG: PM: Triggering wakeup from IRQ 9
2025-04-18 17:23:57,588 DEBUG: PM: Triggering wakeup from IRQ 1
Add this model to the spurious_8042 quirk to workaround this.
This patch does not affect the wake-up function of the built-in keyboard.
Because the firmware of this machine adds an insurance for keyboard
wake-up events, as it always triggers an additional IRQ 9 to wake up the
system.
I have only matched the motherboard model, as the same chassis and
motherboard (GX4HRXL) combination may be used under different product
names.
Suggested-by: Mingcong Bai <jeffbai@aosc.io>
Suggested-by: Xinhui Yang <cyan@cyano.uk>
Suggested-by: Rong Zhang <i@rong.moe>
Fixes: a55bdad5dfd1 ("platform/x86/amd/pmc: Disable keyboard wakeup on AMD Framework 13")
Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4166
Cc: Mario Limonciello <mario.limonciello@amd.com>
Link: https://zhuanldan.zhihu.com/p/730538041
Tested-by: Yemu Lu <prcups@krgm.moe>
Signed-off-by: Runhua He <hua@aosc.io>
---
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 b4f49720c87f..e01012d5ecd0 100644
--- a/drivers/platform/x86/amd/pmc/pmc-quirks.c
+++ b/drivers/platform/x86/amd/pmc/pmc-quirks.c
@@ -217,6 +217,13 @@ static const struct dmi_system_id fwbug_list[] = {
DMI_MATCH(DMI_BIOS_VERSION, "03.05"),
}
},
+ {
+ .ident = "MECHREVO Wujie 14 Series (GX4HRXL)",
+ .driver_data = &quirk_spurious_8042,
+ .matches = {
+ DMI_MATCH(DMI_BOARD_NAME, "GX4HRXL"),
+ }
+ },
{}
};
--
2.49.0
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH] platform/x86/amd/pmc: Declare quirk_spurious_8042 for MECHREVO Wujie 14XA (GX4HRXL) 2025-05-06 11:25 [PATCH] platform/x86/amd/pmc: Declare quirk_spurious_8042 for MECHREVO Wujie 14XA (GX4HRXL) Runhua He @ 2025-05-06 13:29 ` Mario Limonciello 2025-05-06 14:02 ` Mingcong Bai 0 siblings, 1 reply; 4+ messages in thread From: Mario Limonciello @ 2025-05-06 13:29 UTC (permalink / raw) To: Runhua He, platform-driver-x86 Cc: Rong Zhang, Mingcong Bai, Kexy Biscuit, Xinhui Yang, Yemu Lu, Shyam Sundar S K, Hans de Goede, Ilpo Järvinen, linux-kernel On 5/6/2025 6:25 AM, Runhua He wrote: > MECHREVO Wujie 14XA (GX4HRXL) wakes up immediately after s2idle entry. > This happens regardless of whether the laptop is plugged into AC power, > or whether any peripheral is plugged into the laptop. > > Similar to commit a55bdad5dfd1 ("platform/x86/amd/pmc: Disable keyboard > wakeup on AMD Framework 13"), the MECHREVO Wujie 14XA wakes up almost > instantly after s2idle suspend entry (IRQ1 is the keyboard): > > 2025-04-18 17:23:57,588 DEBUG: PM: Triggering wakeup from IRQ 9 > 2025-04-18 17:23:57,588 DEBUG: PM: Triggering wakeup from IRQ 1 > > Add this model to the spurious_8042 quirk to workaround this. > > This patch does not affect the wake-up function of the built-in keyboard. > Because the firmware of this machine adds an insurance for keyboard > wake-up events, as it always triggers an additional IRQ 9 to wake up the > system. > > I have only matched the motherboard model, as the same chassis and > motherboard (GX4HRXL) combination may be used under different product > names. > > Suggested-by: Mingcong Bai <jeffbai@aosc.io> > Suggested-by: Xinhui Yang <cyan@cyano.uk> > Suggested-by: Rong Zhang <i@rong.moe> > Fixes: a55bdad5dfd1 ("platform/x86/amd/pmc: Disable keyboard wakeup on AMD Framework 13") > Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4166 > Cc: Mario Limonciello <mario.limonciello@amd.com> > Link: https://zhuanldan.zhihu.com/p/730538041 > Tested-by: Yemu Lu <prcups@krgm.moe> > Signed-off-by: Runhua He <hua@aosc.io> > --- > 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 b4f49720c87f..e01012d5ecd0 100644 > --- a/drivers/platform/x86/amd/pmc/pmc-quirks.c > +++ b/drivers/platform/x86/amd/pmc/pmc-quirks.c > @@ -217,6 +217,13 @@ static const struct dmi_system_id fwbug_list[] = { > DMI_MATCH(DMI_BIOS_VERSION, "03.05"), > } > }, > + { > + .ident = "MECHREVO Wujie 14 Series (GX4HRXL)", > + .driver_data = &quirk_spurious_8042, > + .matches = { > + DMI_MATCH(DMI_BOARD_NAME, "GX4HRXL"), This feels like it might be too wide. Could we match a system vendor as well? ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] platform/x86/amd/pmc: Declare quirk_spurious_8042 for MECHREVO Wujie 14XA (GX4HRXL) 2025-05-06 13:29 ` Mario Limonciello @ 2025-05-06 14:02 ` Mingcong Bai 2025-05-06 18:54 ` Rong Zhang 0 siblings, 1 reply; 4+ messages in thread From: Mingcong Bai @ 2025-05-06 14:02 UTC (permalink / raw) To: Mario Limonciello, Runhua He, platform-driver-x86 Cc: Rong Zhang, Kexy Biscuit, Xinhui Yang, Yemu Lu, Shyam Sundar S K, Hans de Goede, Ilpo Järvinen, linux-kernel Hi Mario, 在 2025/5/6 21:29, Mario Limonciello 写道: > On 5/6/2025 6:25 AM, Runhua He wrote: >> MECHREVO Wujie 14XA (GX4HRXL) wakes up immediately after s2idle entry. >> This happens regardless of whether the laptop is plugged into AC power, >> or whether any peripheral is plugged into the laptop. >> >> Similar to commit a55bdad5dfd1 ("platform/x86/amd/pmc: Disable keyboard >> wakeup on AMD Framework 13"), the MECHREVO Wujie 14XA wakes up almost >> instantly after s2idle suspend entry (IRQ1 is the keyboard): >> >> 2025-04-18 17:23:57,588 DEBUG: PM: Triggering wakeup from IRQ 9 >> 2025-04-18 17:23:57,588 DEBUG: PM: Triggering wakeup from IRQ 1 >> >> Add this model to the spurious_8042 quirk to workaround this. >> >> This patch does not affect the wake-up function of the built-in keyboard. >> Because the firmware of this machine adds an insurance for keyboard >> wake-up events, as it always triggers an additional IRQ 9 to wake up the >> system. >> >> I have only matched the motherboard model, as the same chassis and >> motherboard (GX4HRXL) combination may be used under different product >> names. >> >> Suggested-by: Mingcong Bai <jeffbai@aosc.io> >> Suggested-by: Xinhui Yang <cyan@cyano.uk> >> Suggested-by: Rong Zhang <i@rong.moe> >> Fixes: a55bdad5dfd1 ("platform/x86/amd/pmc: Disable keyboard wakeup on >> AMD Framework 13") >> Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4166 >> Cc: Mario Limonciello <mario.limonciello@amd.com> >> Link: https://zhuanldan.zhihu.com/p/730538041 >> Tested-by: Yemu Lu <prcups@krgm.moe> >> Signed-off-by: Runhua He <hua@aosc.io> >> --- >> 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 b4f49720c87f..e01012d5ecd0 100644 >> --- a/drivers/platform/x86/amd/pmc/pmc-quirks.c >> +++ b/drivers/platform/x86/amd/pmc/pmc-quirks.c >> @@ -217,6 +217,13 @@ static const struct dmi_system_id fwbug_list[] = { >> DMI_MATCH(DMI_BIOS_VERSION, "03.05"), >> } >> }, >> + { >> + .ident = "MECHREVO Wujie 14 Series (GX4HRXL)", >> + .driver_data = &quirk_spurious_8042, >> + .matches = { >> + DMI_MATCH(DMI_BOARD_NAME, "GX4HRXL"), > > This feels like it might be too wide. Could we match a system vendor as > well? Possibly. There are two known system vendors using this motherboard - TongFang and MECHREVO (MECHREVO is a marque owned by TongFang). See: https://linux-hardware.org/?probe=6783d8fc06 Runhua, maybe we could make two entries here? Best Regards, Mingcong Bai ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] platform/x86/amd/pmc: Declare quirk_spurious_8042 for MECHREVO Wujie 14XA (GX4HRXL) 2025-05-06 14:02 ` Mingcong Bai @ 2025-05-06 18:54 ` Rong Zhang 0 siblings, 0 replies; 4+ messages in thread From: Rong Zhang @ 2025-05-06 18:54 UTC (permalink / raw) To: Mingcong Bai, Mario Limonciello, Runhua He, platform-driver-x86 Cc: Kexy Biscuit, Xinhui Yang, Yemu Lu, Shyam Sundar S K, Hans de Goede, Ilpo Järvinen, linux-kernel Hi all, On Tue, 2025-05-06 at 22:02 +0800, Mingcong Bai wrote: > Hi Mario, > > 在 2025/5/6 21:29, Mario Limonciello 写道: > > On 5/6/2025 6:25 AM, Runhua He wrote: [...] > > > I have only matched the motherboard model, as the same chassis and > > > motherboard (GX4HRXL) combination may be used under different product > > > names. Runhua's statement is *only* correct to a certain extent. (see below) > > > Suggested-by: Mingcong Bai <jeffbai@aosc.io> > > > Suggested-by: Xinhui Yang <cyan@cyano.uk> > > > Suggested-by: Rong Zhang <i@rong.moe> > > > Fixes: a55bdad5dfd1 ("platform/x86/amd/pmc: Disable keyboard wakeup on > > > AMD Framework 13") > > > Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4166 > > > Cc: Mario Limonciello <mario.limonciello@amd.com> > > > Link: https://zhuanldan.zhihu.com/p/730538041 > > > Tested-by: Yemu Lu <prcups@krgm.moe> > > > Signed-off-by: Runhua He <hua@aosc.io> > > > --- > > > 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 b4f49720c87f..e01012d5ecd0 100644 > > > --- a/drivers/platform/x86/amd/pmc/pmc-quirks.c > > > +++ b/drivers/platform/x86/amd/pmc/pmc-quirks.c > > > @@ -217,6 +217,13 @@ static const struct dmi_system_id fwbug_list[] = { > > > DMI_MATCH(DMI_BIOS_VERSION, "03.05"), > > > } > > > }, > > > + { > > > + .ident = "MECHREVO Wujie 14 Series (GX4HRXL)", > > > + .driver_data = &quirk_spurious_8042, > > > + .matches = { > > > + DMI_MATCH(DMI_BOARD_NAME, "GX4HRXL"), > > > > This feels like it might be too wide. Could we match a system vendor as > > well? > > Possibly. There are two known system vendors using this motherboard - > TongFang and MECHREVO (MECHREVO is a marque owned by TongFang). There are plain "GX4HRXL" and "WUJIE14-GX4HRXL". Their BIOS/firmware are different - this difference is not just about marketing. Runhua's statement only applies to plain "GX4HRXL", which is not his model. All seen editions are: - Juno GX4HRXL [1] - TongFang GX4HRXL [2] Comparing [1] and [2]: diff --git a/juno b/tongfang index 88a71da..c6846eb 100644 --- a/juno +++ b/tongfang @@ -1,4 +1,4 @@ -# dmidecode 3.6 +# dmidecode 3.5 Getting SMBIOS data from sysfs. SMBIOS 3.5.0 present. Table at 0x9A92D000. @@ -28,7 +28,7 @@ BIOS Information Handle 0x0001, DMI type 1, 27 bytes System Information - Manufacturer: Juno + Manufacturer: TongFang Product Name: GX4HRXL Version: Standard Serial Number: -- [... SO-DIMM and PCIe ...] As for "WUJIE14-GX4HRXL", the only model I've seen is: - MECHREVO WUJIE14XA [3] Comparing [2] and [3]: diff --git a/tongfang b/mechrevo index c6846eb..0f132a2 100644 --- a/tongfang +++ b/mechrevo @@ -1,13 +1,13 @@ -# dmidecode 3.5 +# dmidecode 3.6 Getting SMBIOS data from sysfs. SMBIOS 3.5.0 present. -Table at 0x9A92D000. +Table at 0x9A92C000. Handle 0x0000, DMI type 0, 26 bytes BIOS Information Vendor: American Megatrends International, LLC. - Version: N.1.14PCS05 - Release Date: 10/24/2024 + Version: N.1.14MRO19 + Release Date: 01/17/2025 Address: 0xF0000 Runtime Size: 64 kB ROM Size: 32 MB @@ -23,24 +23,24 @@ BIOS Information BIOS boot specification is supported Targeted content distribution is supported UEFI is supported - BIOS Revision: 1.5 - Firmware Revision: 1.39 + BIOS Revision: 1.19 + Firmware Revision: 2.8 Handle 0x0001, DMI type 1, 27 bytes System Information - Manufacturer: TongFang - Product Name: GX4HRXL + Manufacturer: MECHREVO + Product Name: WUJIE14XA Version: Standard Serial Number: -- UUID: -- Wake-up Type: Power Switch - SKU Number: 0001 - Family: HPT + SKU Number: WUJIE14 + Family: Mechrevo WUJIE Series Handle 0x0002, DMI type 2, 15 bytes Base Board Information - Manufacturer: TongFang - Product Name: GX4HRXL + Manufacturer: MECHREVO + Product Name: WUJIE14-GX4HRXL Version: Standard Serial Number: -- Asset Tag: -- @@ -54,7 +54,7 @@ Base Board Information Handle 0x0003, DMI type 3, 22 bytes Chassis Information - Manufacturer: Standard + Manufacturer: MECHREVO Type: Notebook Lock: Not Present Version: Standard @@ -88,7 +88,7 @@ OEM Strings String 8: Standard String 9: Standard String 10: Standard - String 11: FBM-GX4HRXL0177PCS + String 11: FGM-GX4HRXL0202101 String 12: GX4HRXL String 13: Standard String 14: Standard @@ -122,11 +122,11 @@ Unknown Type Handle 0x000A, DMI type 45, 26 bytes Firmware Inventory Information Firmware Component Name: BIOS Firmware - Firmware Version: N.1.14PCS05 - Firmware ID: D968671D-72E2-5CA3-9E09-0E48EA102BDC - Release Date: 10/24/2024 + Firmware Version: N.1.14MRO19 + Firmware ID: 0145F8DC-000F-5BDE-8ACB-8AD00CAE8FFE + Release Date: 01/17/2025 Manufacturer: Standard - Lowest Supported Firmware Version: N.1.14PCS05 + Lowest Supported Firmware Version: N.1.14MRO19 Image Size: 32 MB Characteristics: Updatable: Yes [... PCIe ...] Look for BIOS versions whose release dates are the closest between the two [4] [5]: diff --git a/tongfang-1.13 b/mechrevo-1.13 index 3970b9a..a617bbc 100644 --- a/tongfang-1.13 +++ b/mechrevo-1.13 @@ -1,13 +1,13 @@ # dmidecode 3.6 Getting SMBIOS data from sysfs. SMBIOS 3.5.0 present. -Table at 0x9A92D000. +Table at 0x9A92C000. Handle 0x0000, DMI type 0, 26 bytes BIOS Information Vendor: American Megatrends International, LLC. - Version: N.1.13PCS03 - Release Date: 09/06/2024 + Version: N.1.13MRO14 + Release Date: 08/19/2024 Address: 0xF0000 Runtime Size: 64 kB ROM Size: 32 MB @@ -23,24 +23,24 @@ BIOS Information BIOS boot specification is supported Targeted content distribution is supported UEFI is supported - BIOS Revision: 1.3 - Firmware Revision: 1.33 + BIOS Revision: 1.14 + Firmware Revision: 1.32 [...] @@ -88,7 +88,7 @@ OEM Strings String 8: Standard String 9: Standard String 10: Standard - String 11: FBM-GX4HRXL0177PCS + String 11: FGM-GX4HRXL0167102 String 12: GX4HRXL String 13: Standard String 14: Standard @@ -122,11 +122,11 @@ Unknown Type Handle 0x000A, DMI type 45, 26 bytes Firmware Inventory Information Firmware Component Name: BIOS Firmware - Firmware Version: N.1.13PCS03 - Firmware ID: D968671D-72E2-5CA3-9E09-0E48EA102BDC - Release Date: 09/06/2024 + Firmware Version: N.1.13MRO14 + Firmware ID: 0145F8DC-000F-5BDE-8ACB-8AD00CAE8FFE + Release Date: 08/19/2024 Manufacturer: Standard - Lowest Supported Firmware Version: N.1.13PCS03 + Lowest Supported Firmware Version: N.1.13MRO14 Image Size: 32 MB Characteristics: Updatable: Yes [...] Three bits here hint that these two variants are not completely identical: - BIOS/firmware updates are not synced. - Different characters in their BIOS version strings, i.e., PCS vs MRO. - FBM-GX4HRXL0177PCS vs FGM-GX4HRXL0202101 vs FGM-GX4HRXL0167102. I guess these two variants were developed by two different teams (global/China) that shared some common codebase. The difference is probably because of the divergence of pre-installed software to manipulate BIOS options in Windows. I highly suspect the broken EC state machine is related to such software. [1]: https://linux-hardware.org/?probe=22e1f510a2&log=dmidecode [2]: https://linux-hardware.org/?probe=0475501c8c&log=dmidecode [3]: https://linux-hardware.org/?probe=d9af608109&log=dmidecode [4]: https://linux-hardware.org/?probe=599c1edc57&log=dmidecode [5]: https://linux-hardware.org/?probe=7c2e3b925b&log=dmidecode > See: https://linux-hardware.org/?probe=6783d8fc06 This is TongFang GX4HRXL and uses a different BIOS then Runhua's as mentioned above. > Runhua, maybe we could make two entries here? Since this is a platform firmware bug, and given the information we have, is it too soon to say plain "GX4HRXL" suffers from the same bug? I agree with Mario here, but in a slightly different manner, i.e., narrowing the DMI_BOARD_NAME match down to "WUJIE14-GX4HRXL". diff --git a/drivers/platform/x86/amd/pmc/pmc-quirks.c b/drivers/platform/x86/amd/pmc/pmc-quirks.c index b4f49720c87f..2e3f6fc67c56 100644 --- a/drivers/platform/x86/amd/pmc/pmc-quirks.c +++ b/drivers/platform/x86/amd/pmc/pmc-quirks.c @@ -217,6 +217,13 @@ static const struct dmi_system_id fwbug_list[] = { DMI_MATCH(DMI_BIOS_VERSION, "03.05"), } }, + { + .ident = "MECHREVO Wujie 14X (GX4HRXL)", + .driver_data = &quirk_spurious_8042, + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "WUJIE14-GX4HRXL"), + } + }, {} }; Note on `s/14 Series/14X/': while glancing linux-hardware.org, I found Wujie 14 Series includes 14, 14S, 14 Pro, 14XA. They are all disparate from each other. 14X is 14XA's marketing name. > Best Regards, > Mingcong Bai Regards, Rong ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-05-06 18:55 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2025-05-06 11:25 [PATCH] platform/x86/amd/pmc: Declare quirk_spurious_8042 for MECHREVO Wujie 14XA (GX4HRXL) Runhua He 2025-05-06 13:29 ` Mario Limonciello 2025-05-06 14:02 ` Mingcong Bai 2025-05-06 18:54 ` Rong Zhang
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®