mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] platform/x86: hp-wmi: add support for OMEN 16-am2xxx boards
@ 2026-08-29 11:27 保 舒文
  2026-09-18 17:13 ` Ilpo Järvinen
  0 siblings, 1 reply; 2+ messages in thread
From: 保 舒文 @ 2026-08-29 11:27 UTC (permalink / raw)
  To: platform-driver-x86; +Cc: linux-kernel

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@outlook.com>

---
 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[] = {
        "8A15", "8A42",
        "8BAD",
+       "8F1C",
 };
 
 /* DMI Board names of Victus 16-d laptops */

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] platform/x86: hp-wmi: add support for OMEN 16-am2xxx boards
  2026-08-29 11:27 [PATCH] platform/x86: hp-wmi: add support for OMEN 16-am2xxx boards 保 舒文
@ 2026-09-18 17:13 ` Ilpo Järvinen
  0 siblings, 0 replies; 2+ messages in thread
From: Ilpo Järvinen @ 2026-09-18 17:13 UTC (permalink / raw)
  To: 保 舒文; +Cc: platform-driver-x86, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2642 bytes --]

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@outlook.com>
> 
> ---
>  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.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-09-18 17:14 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-29 11:27 [PATCH] platform/x86: hp-wmi: add support for OMEN 16-am2xxx boards 保 舒文
2026-09-18 17:13 ` Ilpo Järvinen

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®