[PATCH v3 0/3] platform/x86: hp-wmi: Add manual fan support for Victus S laptops

Krishna Chomal posted 3 patches 3 weeks, 3 days ago
drivers/platform/x86/hp/hp-wmi.c | 321 +++++++++++++++++++++++++------
1 file changed, 266 insertions(+), 55 deletions(-)
[PATCH v3 0/3] platform/x86: hp-wmi: Add manual fan support for Victus S laptops
Posted by Krishna Chomal 3 weeks, 3 days ago
This series adds support for manual fan speed control and PWM reporting
for HP Victus S-style laptops.

The first patch is a trivial fix for ordering the include headers.

The second patch refactors the hwmon implementation to use a per-device
private context for state tracking. It implements RPM-to-PWM conversion
using linear interpolation based on the laptop's internal fan tables
retrieved via WMI. It also introduces PWM_MODE_MANUAL, allowing users
to set specific fan speeds.

The third patch addresses a firmware-specific behavior where the
system reverts to "Auto" fan mode after a 120-second timeout if no WMI
fan commands are received. A delayed workqueue is implemented to act
as a keep-alive heartbeat, refreshing the fan state every 90 seconds
to ensure user-selected profiles remain active indefinitely.

Changes in v3:
- Added a new patch (1/3) to sort include headers alphabetically.
- Fixed alignment of multi-line function arguments.
- Refactored GPU fan speed calculation to use signed integers.
- Removed intermediate "ret" variables in hwmon read/write functions.
- Capitalized "PWM" in comments for consistency.
- Renamed "ctx" to "priv" for drvdata throughout the series.
Changes in v2:
- Refactored hp_wmi_apply_fan_settings() to use a "ret" variable and use
  a common path to set fan settings and prepare for keep-alive logic.
- Replaced raw buffer casting with proper fan table structs.
- Converted RPM/PWM macros to static inline functions.
- Renamed internal context variable from "ctx" to "priv" for consistency.
- Renamed delay macro to KEEP_ALIVE_DELAY_SECS.
- Added missing headers and removed redundant NULL checks.

Krishna Chomal (3):
  platform/x86: hp-wmi: order include headers
  platform/x86: hp-wmi: add manual fan control for Victus S models
  platform/x86: hp-wmi: implement fan keep-alive

 drivers/platform/x86/hp/hp-wmi.c | 321 +++++++++++++++++++++++++------
 1 file changed, 266 insertions(+), 55 deletions(-)

-- 
2.52.0
Re: [PATCH v3 0/3] platform/x86: hp-wmi: Add manual fan support for Victus S laptops
Posted by Ilpo Järvinen 3 weeks, 1 day ago
On Tue, 13 Jan 2026 18:07:35 +0530, Krishna Chomal wrote:

> This series adds support for manual fan speed control and PWM reporting
> for HP Victus S-style laptops.
> 
> The first patch is a trivial fix for ordering the include headers.
> 
> The second patch refactors the hwmon implementation to use a per-device
> private context for state tracking. It implements RPM-to-PWM conversion
> using linear interpolation based on the laptop's internal fan tables
> retrieved via WMI. It also introduces PWM_MODE_MANUAL, allowing users
> to set specific fan speeds.
> 
> [...]


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

The list of commits applied:
[1/3] platform/x86: hp-wmi: order include headers
      commit: 60f2d5d0f04365c41ad4f9eddf48c80dcd0b01c9
[2/3] platform/x86: hp-wmi: add manual fan control for Victus S models
      commit: 46be1453e6e61884b4840a768d1e8ffaf01a4c1c
[3/3] platform/x86: hp-wmi: implement fan keep-alive
      commit: c203c59fb5de1b1b8947d61176e868da1130cbeb

--
 i.
Re: [PATCH v3 0/3] platform/x86: hp-wmi: Add manual fan support for Victus S laptops
Posted by Krishna Chomal 3 weeks ago
On Thu, Jan 15, 2026 at 03:45:36PM +0200, Ilpo Järvinen wrote:
>On Tue, 13 Jan 2026 18:07:35 +0530, Krishna Chomal wrote:
>
>> This series adds support for manual fan speed control and PWM reporting
>> for HP Victus S-style laptops.
>>
>> The first patch is a trivial fix for ordering the include headers.
>>
>> The second patch refactors the hwmon implementation to use a per-device
>> private context for state tracking. It implements RPM-to-PWM conversion
>> using linear interpolation based on the laptop's internal fan tables
>> retrieved via WMI. It also introduces PWM_MODE_MANUAL, allowing users
>> to set specific fan speeds.
>>
>> [...]
>
>
>Thank you for your contribution, it has been applied to my local
>review-ilpo-next branch. Note it will show up in the public
>platform-drivers-x86/review-ilpo-next branch only once I've pushed my
>local branch there, which might take a while.
>
>The list of commits applied:
>[1/3] platform/x86: hp-wmi: order include headers
>      commit: 60f2d5d0f04365c41ad4f9eddf48c80dcd0b01c9
>[2/3] platform/x86: hp-wmi: add manual fan control for Victus S models
>      commit: 46be1453e6e61884b4840a768d1e8ffaf01a4c1c
>[3/3] platform/x86: hp-wmi: implement fan keep-alive
>      commit: c203c59fb5de1b1b8947d61176e868da1130cbeb
>
>--
> i.
>

Thank you