From: Sasha Levin <sashal@kernel.org>
To: patches@lists.linux.dev, stable@vger.kernel.org
Cc: "Haichen Feng" <2806891994@qq.com>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
"Sasha Levin" <sashal@kernel.org>,
hansg@kernel.org, platform-driver-x86@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: [PATCH AUTOSEL 7.0] platform/x86: hp-wmi: Add support for Victus 16-r0xxx (8BC2)
Date: Wed, 20 May 2026 07:19:28 -0400 [thread overview]
Message-ID: <20260520111944.3424570-56-sashal@kernel.org> (raw)
In-Reply-To: <20260520111944.3424570-1-sashal@kernel.org>
From: Haichen Feng <2806891994@qq.com>
[ Upstream commit a59e45221df82e8a6246c617615c1ccc12e3545d ]
The HP Victus 16-r0xxx (board ID: 8BC2) has the same WMI as other Victus
S boards, but requires quirks for correctly switching thermal profile.
Add the DMI board name to victus_s_thermal_profile_boards[] table and
map it to omen_v1_thermal_params.
Testing on board 8BC2 confirmed that platform profile is registered
successfully and fan RPMs are readable and controllable.
Signed-off-by: Haichen Feng <2806891994@qq.com>
Link: https://patch.msgid.link/tencent_8E29805D8DC7B6005244C3433C62DD9DF606@qq.com
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
LLM Generated explanations, may be completely bogus:
## Phase Walkthrough
### Phase 1: Commit Message Forensics
Record: Subsystem is `platform/x86: hp-wmi`; action verb is `Add
support`; intent is a DMI hardware quirk for HP Victus 16-r0xxx board
`8BC2`.
Record: Tags found: `Signed-off-by: Haichen Feng`, `Link: https://patch.
msgid.link/tencent_8E29805D8DC7B6005244C3433C62DD9DF606@qq.com`,
`Reviewed-by: Ilpo Järvinen`, `Signed-off-by: Ilpo Järvinen`. No
`Fixes:`, `Reported-by:`, `Tested-by:`, or `Cc: stable`.
Record: Body says board `8BC2` has the same WMI behavior as other Victus
S boards but needs quirks for correct thermal profile switching. The
author reports testing on board `8BC2`: platform profile registered, fan
RPMs readable and controllable.
Record: This is a hardware quirk / DMI board enablement, not a hidden
memory-safety bug.
### Phase 2: Diff Analysis
Record: One file changed: `drivers/platform/x86/hp/hp-wmi.c`, 4
insertions. Modified object: `victus_s_thermal_profile_boards[]`. Scope:
single-file surgical DMI table addition.
Record: Before: `8BC2` did not match
`victus_s_thermal_profile_boards[]`. After: `8BC2` matches and gets
`.driver_data = &omen_v1_thermal_params`.
Record: Bug category is hardware workaround / DMI quirk. Mechanism:
`setup_active_thermal_profile_params()` uses `dmi_first_match()` on this
table, sets `is_victus_s_board = true`, and selects board-specific
thermal parameters. Without the entry, the Victus S-specific platform
profile and hwmon fan paths are not selected for this board.
Record: Fix quality is high: 4-line table entry, no API change, no
locking/memory lifetime change. Regression risk is very low and limited
to machines whose DMI board name is exactly `8BC2`.
### Phase 3: Git History Investigation
Record: `git blame` around the table shows the DMI table/refactor came
from `8ca7515d3c76` and nearby board entries came from prior hp-wmi
board-support commits. `git grep` against the candidate parent found no
existing `8BC2` entry.
Record: No `Fixes:` tag, so no introducing commit to follow.
Record: Recent file history shows many similar hp-wmi board additions
and fixes, including `8BCA`, `8C76`, `8A4D`, and Victus S support
commits. The candidate is standalone relative to its parent.
Record: `git log --author='Haichen Feng'` found no prior local hp-wmi
commits. The patch was reviewed and committed by Ilpo Järvinen, who also
appears in hp-wmi history.
Record: Dependency: the exact patch expects the `dmi_system_id` table
with `driver_data` and `omen_v1_thermal_params`. That exists in
`v7.0`/`v7.0.9`; older `v6.18`/`v6.19` have an older string table, and
`v6.12` and older checked tags did not show this Victus S table.
### Phase 4: Mailing List And External Research
Record: `b4 dig -c a59e45221df82e8a6246c617615c1ccc12e3545d` found the
original patch at the provided message-id URL.
Record: `b4 dig -C -a` found revisions v1, v2, and v4. Review history
shows v1 was asked to place `8BC2` in sorted order, v3/v4 discussion
asked for a proper commit message and a new thread for b4 tooling. The
standalone v4 was accepted by Ilpo, with applied commit
`a59e45221df82e8a6246c617615c1ccc12e3545d`.
Record: `b4 dig -w` showed the patch went to Haichen Feng, Ilpo
Järvinen, Hans de Goede, `linux-kernel`, and `platform-driver-x86`.
Record: No stable-specific request or rejection was found. `WebFetch`
for lore search pages was blocked by Anubis, so stable-list search via
web is unverified.
### Phase 5: Code Semantic Analysis
Record: Key functions affected indirectly:
`setup_active_thermal_profile_params()`,
`is_victus_s_thermal_profile()`, `thermal_profile_setup()`,
`platform_profile_victus_s_set_ec()`, and hwmon fan handlers.
Record: Callers: `hp_wmi_init()` calls
`setup_active_thermal_profile_params()` before probing; platform profile
and hwmon callbacks use `is_victus_s_thermal_profile()` to choose Victus
S behavior.
Record: Callees include `dmi_first_match()`, `ec_read()`,
`hp_wmi_perform_query()`, and `devm_platform_profile_register()`.
Record: Reachability: the path is reached during hp-wmi module
init/probe and through user-visible platform profile and hwmon
operations after registration. Impact is board-specific, not universal.
Record: Similar patterns exist in the same table: `8BCA`, `8BCD`,
`8C76`, and `8C78` map to `omen_v1_thermal_params`.
### Phase 6: Cross-Referencing And Stable Tree Analysis
Record: Checked tags: `v7.0` and `v7.0.9` contain the required struct
DMI table and lack `8BC2`; `v6.18`/`v6.19` contain an older string-table
Victus S implementation; `v6.12`, `v6.6`, `v6.1`, `v5.15`, and `v5.10`
did not show the same target code.
Record: `git apply --check` of the candidate diff succeeded on current
`v7.0.9`, so expected backport difficulty for `7.0.y` is clean. Older
trees would need either prerequisites or a different backport, and the
exact tested `omen_v1_thermal_params` mapping is not directly applicable
to the older string table.
Record: No related stable alternative fix for `8BC2` was found in
checked local history.
### Phase 7: Subsystem And Maintainer Context
Record: Subsystem is `drivers/platform/x86/hp`, a platform/laptop driver
subsystem. Criticality is peripheral but user-visible for affected HP
hardware.
Record: File history is active, with multiple recent hp-wmi board quirks
and fixes. The review/commit path involved Ilpo Järvinen from the
platform-drivers-x86 maintainership path.
### Phase 8: Impact And Risk Assessment
Record: Affected population is users of HP Victus 16-r0xxx board `8BC2`
with hp-wmi enabled.
Record: Trigger condition is boot/probe and subsequent platform profile
or hwmon fan use on that exact DMI board. Unprivileged triggerability
beyond ordinary sysfs exposure was not established and is not needed for
this decision.
Record: Failure mode is missing/incorrect platform profile and fan
control support on affected hardware, not a crash/corruption bug.
Severity is medium for affected users.
Record: Benefit is high for affected hardware because it enables tested
thermal profile/fan behavior. Risk is very low because the change is a
single exact DMI match.
### Phase 9: Final Synthesis
Record: Evidence for backporting: it is a hardware-specific DMI quirk,
explicitly tested on the target board by the submitter, reviewed/applied
by the subsystem maintainer path, and only affects board `8BC2`.
Record: Evidence against: it is hardware enablement rather than a
crash/security/data-corruption fix, and older stable trees may not have
the exact prerequisite table structure.
Record: Stable rules: obviously correct yes; fixes a real board support
problem yes; important enough under the hardware quirk exception yes;
small and contained yes; no new API yes; clean apply verified for
`v7.0.9`, older applicability requires tree-specific handling.
Record: Exception category applies: hardware quirk / DMI board entry to
an existing driver.
## Verification
- [Phase 1] `git show a59e45221df82...` confirmed subject, tags, 4-line
diff, and commit body.
- [Phase 2] Diff confirmed only `victus_s_thermal_profile_boards[]` is
changed.
- [Phase 3] `git blame` and `git log` verified table history and related
hp-wmi board entries.
- [Phase 4] `b4 dig`, `b4 mbox`, and local mbox reads verified review
history, v1/v2/v4 revisions, maintainer feedback, and final
acceptance.
- [Phase 5] `rg`/file reads verified the DMI table drives Victus S
platform profile and hwmon fan code paths.
- [Phase 6] tag checks verified exact applicability to `v7.0.y` and
structural mismatch in older checked trees.
- [Phase 8] Impact/risk is based on exact DMI matching and code-path
inspection.
- UNVERIFIED: lore stable search pages via `WebFetch` were blocked by
Anubis; no independent hardware test was performed here beyond the
author’s commit-message report.
This should be backported to stable trees that contain the matching hp-
wmi DMI table infrastructure, especially `7.0.y`. It is the classic
stable-acceptable hardware quirk: tiny, reviewed, board-specific, and
low risk.
**YES**
drivers/platform/x86/hp/hp-wmi.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/platform/x86/hp/hp-wmi.c b/drivers/platform/x86/hp/hp-wmi.c
index 62fd2fe0d8d0e..71e0100455d9a 100644
--- a/drivers/platform/x86/hp/hp-wmi.c
+++ b/drivers/platform/x86/hp/hp-wmi.c
@@ -194,6 +194,10 @@ static const struct dmi_system_id victus_s_thermal_profile_boards[] __initconst
.matches = { DMI_MATCH(DMI_BOARD_NAME, "8BBE") },
.driver_data = (void *)&victus_s_thermal_params,
},
+ {
+ .matches = { DMI_MATCH(DMI_BOARD_NAME, "8BC2") },
+ .driver_data = (void *)&omen_v1_thermal_params,
+ },
{
.matches = { DMI_MATCH(DMI_BOARD_NAME, "8BCA") },
.driver_data = (void *)&omen_v1_thermal_params,
--
2.53.0
next prev parent reply other threads:[~2026-05-20 11:21 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-20 11:18 [PATCH AUTOSEL 7.0-6.12] HID: logitech-hidpp: Add support for newer Bluetooth keyboards Sasha Levin
2026-05-20 11:18 ` [PATCH AUTOSEL 7.0] drm/amdgpu: remove deadlocks from amdgpu_userq_pre_reset Sasha Levin
2026-05-20 11:18 ` [PATCH AUTOSEL 7.0-5.10] ALSA: sparc/dbri: add missing fallthrough Sasha Levin
2026-05-20 11:18 ` [PATCH AUTOSEL 7.0-6.6] docs: cgroup-v1: Update charge-commit section Sasha Levin
2026-05-20 11:18 ` [PATCH AUTOSEL 7.0-5.10] drm/panel: feiyang-fy07024di26a30d: return display-on error Sasha Levin
2026-05-20 11:18 ` [PATCH AUTOSEL 7.0-6.6] ALSA: usb-audio: Add iface reset and delay quirk for TTGK Technology USB-C Audio Sasha Levin
2026-05-20 11:18 ` [PATCH AUTOSEL 7.0-5.10] selftests/cgroup: Fix cg_read_strcmp() empty string comparison Sasha Levin
2026-05-20 11:18 ` [PATCH AUTOSEL 7.0-6.1] smb: client: Zero-pad short GSS session keys per MS-SMB2 Sasha Levin
2026-05-20 11:18 ` [PATCH AUTOSEL 7.0-5.10] HID: magicmouse: Prevent out-of-bounds (OOB) read during DOUBLE_REPORT_ID Sasha Levin
2026-05-20 11:18 ` [PATCH AUTOSEL 7.0] smb: client: avoid integer overflow in SMB2 READ length check Sasha Levin
2026-05-20 11:18 ` [PATCH AUTOSEL 7.0-5.10] libceph: Fix unnecessarily high ceph_decode_need() for uniform bucket Sasha Levin
2026-05-20 11:18 ` [PATCH AUTOSEL 7.0-6.6] ALSA: hda/realtek: fix mic boost on Framework PTL Sasha Levin
2026-05-20 11:18 ` [PATCH AUTOSEL 7.0-6.6] io_uring: hold uring_lock when walking link chain in io_wq_free_work() Sasha Levin
2026-05-20 11:18 ` [PATCH AUTOSEL 7.0-5.15] wifi: nl80211: re-check wiphy netns in nl80211_prepare_wdev_dump() continuation Sasha Levin
2026-05-20 11:18 ` [PATCH AUTOSEL 7.0-6.12] KVM: arm64: nv: Consider the DS bit when translating TCR_EL2 Sasha Levin
2026-05-20 11:18 ` [PATCH AUTOSEL 7.0] docs: hwmon: sy7636a: fix temperature sysfs attribute name Sasha Levin
2026-05-20 11:18 ` [PATCH AUTOSEL 7.0] ALSA: hda/realtek: ALC269 fixup for Lenovo Yoga Pro 7 15ASH111 audio Sasha Levin
2026-05-20 11:18 ` [PATCH AUTOSEL 7.0-6.6] ipv6: Implement limits on extension header parsing Sasha Levin
2026-05-20 11:18 ` [PATCH AUTOSEL 7.0-6.12] net: usb: cdc_ncm: add Apple Mac USB-C direct networking quirk Sasha Levin
2026-05-20 11:18 ` [PATCH AUTOSEL 7.0-5.15] net: usb: r8152: add TRENDnet TUC-ET2G v2.0 Sasha Levin
2026-05-20 11:18 ` [PATCH AUTOSEL 7.0-5.10] i2c: dev: prevent integer overflow in I2C_TIMEOUT ioctl Sasha Levin
2026-05-20 11:18 ` [PATCH AUTOSEL 7.0-5.10] powerpc/vmx: avoid KASAN instrumentation in enter_vmx_ops() for kexec Sasha Levin
2026-05-20 11:18 ` [PATCH AUTOSEL 7.0-6.18] ALSA: usb-audio: add min_mute quirk for Razer Nommo V2 X Sasha Levin
2026-05-20 11:18 ` [PATCH AUTOSEL 7.0-5.10] wifi: libertas: fix integer underflow in process_cmdrequest() Sasha Levin
2026-05-20 20:41 ` James Cameron
2026-05-20 11:18 ` [PATCH AUTOSEL 7.0-5.10] HID: mcp2221: fix OOB write in mcp2221_raw_event() Sasha Levin
2026-05-20 11:18 ` [PATCH AUTOSEL 7.0] io_uring/wait: honour caller's time namespace for IORING_ENTER_ABS_TIMER Sasha Levin
2026-05-20 11:40 ` Jens Axboe
2026-05-20 11:18 ` [PATCH AUTOSEL 7.0-5.10] wifi: nl80211: require CAP_NET_ADMIN over the target netns in SET_WIPHY_NETNS Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0-5.10] HID: elan: Add support for ELAN SB974D touchpad Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0-6.12] media: qcom: camss: avoid format string warning Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0-6.12] HID: i2c-hid: add reset quirk for BLTP7853 touchpad Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0-6.12] ALSA: hda/realtek: Limit mic boost on Positivo DN50E Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0-6.12] Documentation: kvm: update links in the references section of AMD Memory Encryption Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0-5.10] scsi: scsi_dh_alua: Increase default ALUA timeout to maximum spec value Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0-6.1] HID: google: hammer: stop hardware on devres action failure Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0-6.18] ALSA: doc: cs35l56: Update path to HDA driver source Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0-6.18] Bluetooth: hci_uart: Fix NULL deref in recv callbacks when priv is uninitialized Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0] ALSA: hda/realtek: Add mute LED fixup for HP Pavilion 15-cs1xxx Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0-6.12] btrfs: fix check_chunk_block_group_mappings() to iterate all chunk maps Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0-5.15] ALSA: usb-audio: Add quirk flags for AlphaTheta EUPHONIA Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0-5.10] powerpc/g5: Enable all windfarms by default Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0-6.18] ALSA: hda/realtek: Add codec SSID quirk for Lenovo Yoga Pro 9 16IMH9 Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0-6.18] tools/ynl: add missing uapi header deps in Makefile.deps Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0-5.10] fbdev: ipu-v3: clean up kernel-doc warnings Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0-6.6] ASoC: amd: yc: Add DMI quirk for MSI Bravo 15 C7VE Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0-6.1] powerpc/pasemi: Drop redundant res assignment Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0-5.10] cgroup/cpuset: move PF_EXITING check before __GFP_HARDWALL in cpuset_current_node_allowed() Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0-6.18] drm/amd/ras: Fix CPER ring debugfs read overflow Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0-5.15] scsi: smartpqi: Silence a recursive lock warning Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0] io_uring: defer linked-timeout chain splice out of hrtimer context Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0-6.18] io_uring: validate user-controlled cq.head in io_cqe_cache_refill() Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0-6.12] platform/x86: asus-nb-wmi: add DMI quirk for ASUS Zenbook Duo UX8407AA Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0-6.18] powerpc/pseries/htmdump: Free the global buffers in htmdump module exit Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0-6.6] HID: sony: add missing size validation for SMK-Link remotes Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0-5.15] HID: ft260: validate i2c input report length Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0] io_uring: hold uring_lock across io_kill_timeouts() in cancel path Sasha Levin
2026-05-20 11:19 ` Sasha Levin [this message]
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0-5.10] i2c: acpi: Add ELAN0678 to i2c_acpi_force_100khz_device_ids Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0-6.18] KVM: VMX: introduce module parameter to disable CET Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0-6.18] iommu/amd: Use maximum Event log buffer size when SNP is enabled on Family 0x19 Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0-5.10] ALSA: usb-audio: add clock quirk for Motu 1248 Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0-6.18] workqueue: Release PENDING in __queue_work() drain/destroy reject path Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0] ASoC: sdw_utils: avoid the SDCA companion function not supported failure Sasha Levin
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0] Documentation: security-bugs: do not systematically Cc the security team Sasha Levin
2026-05-20 13:07 ` Jonathan Corbet
2026-05-20 11:19 ` [PATCH AUTOSEL 7.0-6.12] io_uring/fdinfo: translate SqThread PID through caller's pid_ns Sasha Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260520111944.3424570-56-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=2806891994@qq.com \
--cc=hansg@kernel.org \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=patches@lists.linux.dev \
--cc=platform-driver-x86@vger.kernel.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox