[PATCH v2] platform/x86: hp-wmi: add support for OMEN 16-am2xxx boards
From: Shuwen Bao
Date: Fri Sep 18 2026 - 21:30:36 EST
The HP HyperX OMEN 16-am2xxx (DMI board 8F1C, 26C1 platform cycle,
Arrow Lake-HXR) is listed in the OMEN Command Center device
capability table with DisplayName "HyperX OMEN 16" and the
"PerformanceControl" feature, but is missing from the kernel's
omen_thermal_profile_boards whitelist. The thermal profile path is
therefore not enabled and the embedded controller keeps the CPU
pinned at the default frequency cap while running Linux.
Add 8F1C to the OMEN thermal profile board list. On this platform
the EC firmware also arms its own thermal profile revert timer (EC
offset 0x63, armed with 0x5a when performance is selected) and
switches back to the balanced profile once it expires, so also add
the board to omen_timed_thermal_profile_boards in order to have the
driver clear the timer and set the NOTIMER|TURBO flags when
switching to the performance profile. Testing further showed that
this board uses v0 commands, so also add it to
omen_thermal_profile_force_v0_boards.
Tested on a HyperX OMEN 16-am2xxx: after loading the patched hp-wmi
module the platform_profile interface is exposed, and switching to
the performance profile raises the CPU from a ~2.9 GHz (P-core) /
2.6 GHz (E-core) cap to ~4.8 GHz / ~4.3 GHz under a single-thread
load. The EC then reports the performance profile (0x31) with the
NOTIMER|TURBO flags set (0x62=0x06) and the revert timer cleared
(0x63=0x00); a plain write of the profile without those flags
instead arms the timer (0x63=0x5a) and the profile reverts to
balanced when it expires.
Signed-off-by: Shuwen Bao <baoshuwen2013@xxxxxxxxxxx>
---
drivers/platform/x86/hp/hp-wmi.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/platform/x86/hp/hp-wmi.c b/drivers/platform/x86/hp/hp-wmi.c
index 615b4cf6fc45..f229da54366a 100644
--- a/drivers/platform/x86/hp/hp-wmi.c
+++ b/drivers/platform/x86/hp/hp-wmi.c
@@ -211,6 +211,7 @@ static const char * const omen_thermal_profile_boards[] = {
"8BAD",
"8C58",
"8E41",
+ "8F1C",
};
/* DMI Board names of Omen laptops that are specifically set to be thermal
@@ -220,6 +221,7 @@ static const char * const omen_thermal_profile_boards[] = {
static const char * const omen_thermal_profile_force_v0_boards[] = {
"8607",
"8746", "8747", "8748", "8749", "874A",
+ "8F1C",
};
/* DMI board names of Omen laptops that have a thermal profile timer which will
@@ -229,6 +231,7 @@ static const char * const omen_thermal_profile_force_v0_boards[] = {
static const char * const omen_timed_thermal_profile_boards[] = {
"8A15", "8A42",
"8BAD",
+ "8F1C",
};
/* DMI Board names of Victus 16-d laptops */
--
2.53.0