|
|
Log in / Subscribe / Register

platform/x86: hp-wmi: Add Victus 15-fb0xxx fan control

From:  Radhey Kalra <radheykalra901-AT-gmail.com>
To:  platform-driver-x86-AT-vger.kernel.org
Subject:  [PATCH v6 0/4] platform/x86: hp-wmi: Add Victus 15-fb0xxx fan control
Date:  Thu, 21 May 2026 19:03:47 +0530
Message-ID:  <20260521133351.1512718-1-radheykalra901@gmail.com>
Cc:  ilpo.jarvinen-AT-linux.intel.com, krishna.chomal108-AT-gmail.com
Archive-link:  Article

Hi,

This is a split version of the Victus 15-fb0xxx fan-control change.
Patches 1 and 2 are no-functional-changes-intended refactors which move
the existing thermal-profile and fan-control decisions into
board-specific .driver_data. Patch 3 fixes the fan-table GPU delta
parsing issue found while testing this board. Patch 4 adds fan-control
support for Victus 15-fb0xxx board 8A3D.

v6 splits the gpu_delta fan-table parsing fix back into its own patch.
The previous 2-patch v5 folded that behavioral parser fix into the board
data preparation patch, which was a mistake.

8A3D is kept fan-control-only because the verified behavior is the
Victus fan-control path. The existing generic platform-profile sysfs path
on 8A3D accepts writes/readbacks without hp_wmi errors, but CPU/GPU
power-policy behavior was not meaningfully validated.

Adding 8A3D to the Victus S thermal-profile table would move it to a
different, Victus S-specific platform-profile path that has not been
verified on this board.

Based on platform-drivers-x86/for-next commit:
165e81354eefd5551358112773f24027aac59d5a

Tested on a Victus by HP Gaming Laptop 15-fb0xxx, board 8A3D, BIOS
F.22. With the series applied, pwm1 and pwm1_enable are exposed and
the EC-layout warning is not emitted for 8A3D.

Radhey Kalra (4):
  platform/x86: hp-wmi: Introduce board-specific feature data
  platform/x86: hp-wmi: Drive fan control from board data
  platform/x86: hp-wmi: Skip zero GPU RPM rows for fan speed delta
  platform/x86: hp-wmi: Add Victus 15-fb0xxx fan control

 drivers/platform/x86/hp/hp-wmi.c | 212 ++++++++++++++++++++++---------
 1 file changed, 153 insertions(+), 59 deletions(-)

---
Changes in v6:
- Split the gpu_delta fan-table parser fix back out into its own patch.
- Keep 8A3D fan-control-only and document why the Victus S
  platform-profile path is not enabled for this board.

Changes in v5:
- Drop the active_thermal_profile_params global and dereference the
  thermal-profile data through active_board_params.
- Move the generic fan-only board handling into patch 1, keeping the
  final 8A3D patch focused on adding the board data and DMI match.
- Wrap the setup comment added in patch 1 to stay under 80 columns.

Changes in v4:
- Split v3 into two no-functional-changes-intended refactors, one
  fan-table parsing fix, and one 8A3D support patch.
- Rebase on platform-drivers-x86/for-next commit 165e81354eefd555.
- Move revision notes to the cover letter.

Changes in v3:
- Rebase on platform-drivers-x86/for-next commit 165e81354eefd555.
- Keep the v2 board-data approach and 8A3D fan-control-only handling.

Changes in v2:
- Use real name in Signed-off-by.
- Replace the ad-hoc fan-control DMI table with board data in
  .driver_data.
- Keep 8A3D fan-control-only instead of enabling Victus S thermal
  profiles.
- Use the fixed fan-table parser path and derive gpu_delta from the
  first non-zero GPU row.

-- 
2.54.0



Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds