Skip to content

Commit 435da77

Browse files
VulnXij-intel
authored andcommitted
platform/x86: hp-wmi: Add support for Omen 16-k0xxx (8A4D)
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> Link: https://patch.msgid.link/20260302073525.71037-1-krishna.chomal108@gmail.com Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
1 parent 84d29bf commit 435da77

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

drivers/platform/x86/hp/hp-wmi.c

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,13 @@ static const struct thermal_profile_params omen_v1_thermal_params = {
120120
.ec_tp_offset = HP_VICTUS_S_EC_THERMAL_PROFILE_OFFSET,
121121
};
122122

123+
static const struct thermal_profile_params omen_v1_legacy_thermal_params = {
124+
.performance = HP_OMEN_V1_THERMAL_PROFILE_PERFORMANCE,
125+
.balanced = HP_OMEN_V1_THERMAL_PROFILE_DEFAULT,
126+
.low_power = HP_OMEN_V1_THERMAL_PROFILE_DEFAULT,
127+
.ec_tp_offset = HP_OMEN_EC_THERMAL_PROFILE_OFFSET,
128+
};
129+
123130
/*
124131
* A generic pointer for the currently-active board's thermal profile
125132
* parameters.
@@ -175,6 +182,10 @@ static const char * const victus_thermal_profile_boards[] = {
175182

176183
/* DMI Board names of Victus 16-r and Victus 16-s laptops */
177184
static const struct dmi_system_id victus_s_thermal_profile_boards[] __initconst = {
185+
{
186+
.matches = { DMI_MATCH(DMI_BOARD_NAME, "8A4D") },
187+
.driver_data = (void *)&omen_v1_legacy_thermal_params,
188+
},
178189
{
179190
.matches = { DMI_MATCH(DMI_BOARD_NAME, "8BAB") },
180191
.driver_data = (void *)&omen_v1_thermal_params,

0 commit comments

Comments
 (0)