[PATCH] platform/x86: hp-wmi: Add support for Omen 16-k0xxx (8A4D)

Krishna Chomal posted 1 patch 1 month, 2 weeks ago
drivers/platform/x86/hp/hp-wmi.c | 11 +++++++++++
1 file changed, 11 insertions(+)
[PATCH] platform/x86: hp-wmi: Add support for Omen 16-k0xxx (8A4D)
Posted by Krishna Chomal 1 month, 2 weeks ago
The HP Omen 16-k0xxx (board ID: 8A4D) has the same WMI interface as
other Victus S boards, but requires additional quirks for correctly
switching thermal profile.

Create a new quirk omen_v1_legacy_thermal_params which allows a board to
use Omen V1 thermal values, but rely on the older legacy
HP_OMEN_EC_THERMAL_PROFILE_OFFSET. Add the DMI board name to
victus_s_thermal_profile_boards[] table and map it to the newly added
quirk.

Testing on board 8A4D confirmed that platform profile is registered
successfully and fan RPMs are readable and controllable.

Tested-by: Qinfeng Wu <qwqgong@gmail.com>
Reported-by: Qinfeng Wu <qwqgong@gmail.com>
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=221150
Signed-off-by: Krishna Chomal <krishna.chomal108@gmail.com>
---
 drivers/platform/x86/hp/hp-wmi.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/drivers/platform/x86/hp/hp-wmi.c b/drivers/platform/x86/hp/hp-wmi.c
index 304d9ac63c8a..783e37cd05d9 100644
--- a/drivers/platform/x86/hp/hp-wmi.c
+++ b/drivers/platform/x86/hp/hp-wmi.c
@@ -120,6 +120,13 @@ static const struct thermal_profile_params omen_v1_thermal_params = {
 	.ec_tp_offset	= HP_VICTUS_S_EC_THERMAL_PROFILE_OFFSET,
 };
 
+static const struct thermal_profile_params omen_v1_legacy_thermal_params = {
+	.performance	= HP_OMEN_V1_THERMAL_PROFILE_PERFORMANCE,
+	.balanced	= HP_OMEN_V1_THERMAL_PROFILE_DEFAULT,
+	.low_power	= HP_OMEN_V1_THERMAL_PROFILE_DEFAULT,
+	.ec_tp_offset	= HP_OMEN_EC_THERMAL_PROFILE_OFFSET,
+};
+
 /*
  * A generic pointer for the currently-active board's thermal profile
  * parameters.
@@ -173,6 +180,10 @@ static const char * const victus_thermal_profile_boards[] = {
 
 /* DMI Board names of Victus 16-r and Victus 16-s laptops */
 static const struct dmi_system_id victus_s_thermal_profile_boards[] __initconst = {
+	{
+		.matches = { DMI_MATCH(DMI_BOARD_NAME, "8A4D") },
+		.driver_data = (void *)&omen_v1_legacy_thermal_params,
+	},
 	{
 		.matches = { DMI_MATCH(DMI_BOARD_NAME, "8BBE") },
 		.driver_data = (void *)&victus_s_thermal_params,
-- 
2.53.0
Re: [PATCH] platform/x86: hp-wmi: Add support for Omen 16-k0xxx (8A4D)
Posted by Ilpo Järvinen 4 weeks, 1 day ago
On Mon, 02 Mar 2026 13:05:25 +0530, Krishna Chomal wrote:

> The HP Omen 16-k0xxx (board ID: 8A4D) has the same WMI interface as
> other Victus S boards, but requires additional quirks for correctly
> switching thermal profile.
> 
> Create a new quirk omen_v1_legacy_thermal_params which allows a board to
> use Omen V1 thermal values, but rely on the older legacy
> HP_OMEN_EC_THERMAL_PROFILE_OFFSET. Add the DMI board name to
> victus_s_thermal_profile_boards[] table and map it to the newly added
> quirk.
> 
> [...]


Thank you for your contribution, it has been applied to my local
review-ilpo-fixes branch. Note it will show up in the public
platform-drivers-x86/review-ilpo-fixes branch only once I've pushed my
local branch there, which might take a while.

The list of commits applied:
[1/1] platform/x86: hp-wmi: Add support for Omen 16-k0xxx (8A4D)
      commit: 63ccfdb0b412bfe37007422e78a161ad0d755df6

--
 i.