Re: [PATCH] platform/x86: hp-wmi: add support for OMEN 16-am2xxx boards
From: Ilpo Järvinen
Date: Fri Sep 18 2026 - 13:14:22 EST
On Sat, 29 Aug 2026, 保 舒文 wrote:
> 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 add the
> board to omen_timed_thermal_profile_boards as well in order to have
> the driver clear the timer and set the NOTIMER|TURBO flags when
> switching to the performance profile.
>
> Tested on a HyperX OMEN 16-am2xxx (kernel 7.2.0-boot-me-please):
> 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 | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/platform/x86/hp/hp-wmi.c b/drivers/platform/x86/hp/hp-
> wmi.c
> index 8ba286ed8721..6200d873c732 100644
> --- a/drivers/platform/x86/hp/hp-wmi.c
> +++ b/drivers/platform/x86/hp/hp-wmi.c
> @@ -161,6 +161,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
> @@ -179,6 +180,7 @@ static const char * const
> omen_timed_thermal_profile_boards[] = {
Hi,
Unfortunately, this patch is corrupted in multiple ways. Please try
sending the patch first to yourself and try applying it.
Only send v2 to public after you can get the patch to apply cleanly
yourself.
> "8A15", "8A42",
> "8BAD",
> + "8F1C",
> };
>
> /* DMI Board names of Victus 16-d laptops */
--
i.