[PATCH] platform/x86: hp-wmi: Add OMEN board 8A17 thermal profile support
From: Ciro Pedrini
Date: Fri Sep 25 2026 - 16:58:32 EST
The HP OMEN 17-ck1xxx (board 8A17) isn't in omen_thermal_profile_boards,
so hp-wmi uses the generic thermal profile query. The firmware only
stores that value and never acts on it, so the EC stays in its default
mode and the CPU is held at 45 W whatever profile is selected.
The board uses the OMEN interface (mode byte at EC 0x95, thermal policy
v1) and also needs the timed profile quirk: without it, the EC drops
back to the default mode about two minutes after each profile change.
Add 8A17 to omen_thermal_profile_boards and
omen_timed_thermal_profile_boards.
With this, all three profiles work and sustained package power under
load goes from 45 W to 56-79 W.
Cc: stable@xxxxxxxxxxxxxxx
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Ciro Pedrini <ciro.pedrini@xxxxxxxxx>
---
Notes:
Tested on 7.2.7, whose OMEN profile code matches for-next. Without the
timed quirk, EC 0x63 counts down from about 120 after each profile
write, and at zero the EC resets 0x95 to 0x30.
8A13, 8A14, 8A16 and 8A18 appear in the same DSDT. 8A18 is in the OMEN
list but not the timed one, so it may have the same two-minute
fallback. I can't test it.
I used an AI assistant (Claude) for the ACPI analysis and to draft this
message. I tested the change on my machine and reviewed everything.
drivers/platform/x86/hp/hp-wmi.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/platform/x86/hp/hp-wmi.c b/drivers/platform/x86/hp/hp-wmi.c
index 7ab81ce5f..76f489d5d 100644
--- a/drivers/platform/x86/hp/hp-wmi.c
+++ b/drivers/platform/x86/hp/hp-wmi.c
@@ -207,7 +207,7 @@ static const char * const omen_thermal_profile_boards[] = {
"886B", "886C", "88C8", "88CB", "88D1", "88D2", "88F4", "88F5", "88F6",
"88F7", "88FD", "88FE", "88FF",
"8900", "8901", "8902", "8912", "8917", "8918", "8949", "894A", "89EB",
- "8A15", "8A18", "8A42", "8A43",
+ "8A15", "8A17", "8A18", "8A42", "8A43",
"8BAD",
"8E41",
};
@@ -226,7 +226,7 @@ static const char * const omen_thermal_profile_force_v0_boards[] = {
* "balanced" when reaching zero.
*/
static const char * const omen_timed_thermal_profile_boards[] = {
- "8A15", "8A42",
+ "8A15", "8A17", "8A42",
"8BAD",
};
base-commit: f475845eaf3d749114a63270bf2efea459e14dd2
--
2.55.0