[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260113123738.222244-1-krishna.chomal108@gmail.com>
Date: Tue, 13 Jan 2026 18:07:35 +0530
From: Krishna Chomal <krishna.chomal108@...il.com>
To: ilpo.jarvinen@...ux.intel.com,
hansg@...nel.org,
linux@...ck-us.net
Cc: platform-driver-x86@...r.kernel.org,
linux-hwmon@...r.kernel.org,
linux-kernel@...r.kernel.org,
Krishna Chomal <krishna.chomal108@...il.com>
Subject: [PATCH v3 0/3] platform/x86: hp-wmi: Add manual fan support for Victus S laptops
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
Powered by blists - more mailing lists