[PATCH v10 0/3] platform/x86: hp-wmi: Add Victus 15-fb0xxx support

From: Radhey Kalra

Date: Mon Jun 15 2026 - 05:11:42 EST


Hi,

This is a split version of the Victus 15-fb0xxx support 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 adds support for Victus 15-fb0xxx board 8A3D.

v10 rebases the series on platform-drivers-x86/for-next as requested,
now that the recent hp-wmi DMI ID additions are in that branch. It
preserves the newer 8B2F, 8D26, and 8E35 board entries while converting
the table to board-specific feature data.

The gpu_delta fan-table parsing fix remains out of this series. Ilpo
suggested postponing that part to the other GPU fan series, so this
version keeps only the board-data and 8A3D support pieces.

8A3D is added with both the Victus S thermal-profile data and the Victus
fan-control data. The existing generic platform-profile sysfs path on
8A3D accepts writes/readbacks without hp_wmi errors, and the Victus fan
table/control path exposes working PWM control.

Tested on a Victus by HP Gaming Laptop 15-fb0xxx, board 8A3D, BIOS
F.22. With the series applied, the platform-profile choices are
low-power, balanced, and performance. Writes to all three profiles
succeeded and read back the selected value. In a CPU stress test with
powerprofilesctl held at performance, low-power reduced CPU package
power to about 30 W, while balanced and performance both ran at about
47 W. In a light PRIME offload test, low-power also kept the NVIDIA GPU
at lower clocks and power than the other profiles. pwm1 and pwm1_enable
are exposed through hwmon.

Radhey Kalra (3):
platform/x86: hp-wmi: Introduce board-specific feature data
platform/x86: hp-wmi: Drive fan control from board data
platform/x86: hp-wmi: Add Victus 15-fb0xxx support

drivers/platform/x86/hp/hp-wmi.c | 210 ++++++++++++++++++++++---------
1 file changed, 148 insertions(+), 62 deletions(-)

--
Changes in v10:
- Rebase on platform-drivers-x86/for-next commit 3429ae7b2f02, per
Ilpo's request.
- Preserve hp-wmi board entries added since v9: 8B2F, 8D26, and 8E35.
- Reuse victus_s_board_params for 8A3D instead of adding an identical
victus_8a3d_board_params struct.
- Keep the 8A3D DMI match sorted with the existing board IDs.

Changes in v9:
- Resend after one week with no review comments.
- Clarify that the series follows up on the earlier v6 0/4 review by
dropping the gpu_delta patch and using the tested Victus S path.
- No code changes from v8 because the target platform-drivers-x86 branch
had not moved since v8.
- Recheck that platform-drivers-x86/review-ilpo-next and for-next still
pointed at commit a167ae8eace5.

Changes in v8:
- Resend after one week with no review comments.
- Rebase on platform-drivers-x86/review-ilpo-next commit
a167ae8eace5 to preserve the newer 8902 hp-wmi board entry.
- Keep the gpu_delta fan-table parser fix out of this series; it can be
handled with the other GPU fan series.
- Add Hans de Goede to Cc per MAINTAINERS for X86 PLATFORM DRIVERS.

Changes in v7:
- Bump the version because v6 was already sent.
- Note that the corrected 3-patch version was accidentally sent as v6
after an earlier v6 had already been sent.
- Keep the gpu_delta fan-table parser fix out of this series; it can be
handled with the other GPU fan series.
- Keep 8A3D on the Victus S thermal-profile path after testing profile
writes/readbacks, CPU package power, and light PRIME offload behavior.

Changes in v6:
- Drop the gpu_delta fan-table parser fix for now; it can be handled
with the other GPU fan series.
- Rebase on platform-drivers-x86/for-next commit 5fdac9983681.
- Preserve the recently added 8BC2 board entry.
- Preserve the 8D41 switch to omen_v1_no_ec_thermal_params.
- Add 8A3D with Victus S thermal-profile data and Victus fan-control
data.

2.54.0