From: Sasha Levin <sashal@kernel.org>
To: patches@lists.linux.dev, stable@vger.kernel.org
Cc: "Krishna Chomal" <krishna.chomal108@gmail.com>,
"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
"Sasha Levin" <sashal@kernel.org>,
mpearson-lenovo@squebb.ca, mario.limonciello@amd.com,
kuurtb@gmail.com, luzmaximilian@gmail.com, edip@medip.dev,
julien.robin28@free.fr, alexandre.f.demers@gmail.com
Subject: [PATCH AUTOSEL 6.17] platform/x86: hp-wmi: Add Omen 16-wf1xxx fan support
Date: Mon, 24 Nov 2025 03:06:21 -0500 [thread overview]
Message-ID: <20251124080644.3871678-7-sashal@kernel.org> (raw)
In-Reply-To: <20251124080644.3871678-1-sashal@kernel.org>
From: Krishna Chomal <krishna.chomal108@gmail.com>
[ Upstream commit fb146a38cb119c8d69633851c7a2ce2c8d34861a ]
The newer HP Omen laptops, such as Omen 16-wf1xxx, use the same
WMI-based thermal profile interface as Victus 16-r1000 and 16-s1000
models.
Add the DMI board name "8C78" to the victus_s_thermal_profile_boards
list to enable proper fan and thermal mode control.
Tested on: HP Omen 16-wf1xxx (board 8C78)
Result:
* Fan RPMs are readable
* echo 0 | sudo tee /sys/devices/platform/hp-wmi/hwmon/*/pwm1_enable
allows the fans to run on max RPM.
Signed-off-by: Krishna Chomal <krishna.chomal108@gmail.com>
Link: https://patch.msgid.link/20251018111001.56625-1-krishna.chomal108@gmail.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:
1. **Commit Message Analysis**:
- **Subject**: "platform/x86: hp-wmi: Add Omen 16-wf1xxx fan support"
- **Problem**: HP Omen 16-wf1xxx laptops (board ID "8C78") lack fan
and thermal profile control.
- **Fix**: Adds the board ID to the driver's whitelist
(`victus_s_thermal_profile_boards`), enabling the existing WMI
thermal interface for this model.
- **Signals**: Tested on hardware (positive), Reviewed by maintainer
(positive). No "Fixes:" tag, but fixes a hardware support gap.
2. **Deep Code Research**:
- **File**: `drivers/platform/x86/hp/hp-wmi.c`
- **Mechanism**: The driver uses
`dmi_get_system_info(DMI_BOARD_NAME)` to match against
`victus_s_thermal_profile_boards`. If matched,
`is_victus_s_thermal_profile()` returns true, enabling
`hp_wmi_hwmon_read`/`write` callbacks to handle fan speed and
thermal profiles via the EC.
- **Codebase Context**: The `victus_s` infrastructure was introduced
in commit `6e4ab59b8391a` (Jan 2025) and is present in the current
stable tree (linux-6.17.y).
- **Precedent**: Commit `748f897511446` (Jul 2025) previously added
board IDs "8C99" and "8C9C" to the same array and was
backported/present in the stable tree.
- **Backport Detail**: The patch context shows IDs ("8BBE", "8BD4")
that are missing from the current stable tree. This indicates the
patch will not apply cleanly (`git apply` will fail on context),
but the logic is independent. A trivial backport (manual context
adjustment) is required to insert "8C78" into the existing array.
3. **Stable Kernel Rules Compliance**:
- **Exception Category**: **New Device IDs** (Explicitly allowed).
The stable rules permit adding PCI/USB/ACPI IDs to existing drivers
to enable hardware support. Adding a DMI board string functions
identically to adding a Device ID.
- **User Impact**: High for owners of this hardware (fixes broken
thermal management). Low for everyone else.
- **Risk**: Negligible. The change is isolated to a specific hardware
signature.
- **Criteria**: obviously correct (adding string to array), fixes
real bug (missing functionality), small scope (1 line).
4. **Conclusion**:
The commit effectively acts as a Device ID / Quirk addition, which is
a standard exception for stable backports. It enables essential
hardware functionality using existing, tested driver paths. The
missing context in the stable tree is a minor logistical issue
(requires fuzz/manual merge) but does not invalidate the technical
correctness or safety of the fix.
**YES**
drivers/platform/x86/hp/hp-wmi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/platform/x86/hp/hp-wmi.c b/drivers/platform/x86/hp/hp-wmi.c
index 9a668e2587952..e10c75d91f248 100644
--- a/drivers/platform/x86/hp/hp-wmi.c
+++ b/drivers/platform/x86/hp/hp-wmi.c
@@ -95,7 +95,7 @@ static const char * const victus_thermal_profile_boards[] = {
/* DMI Board names of Victus 16-r and Victus 16-s laptops */
static const char * const victus_s_thermal_profile_boards[] = {
"8BBE", "8BD4", "8BD5",
- "8C99", "8C9C"
+ "8C78", "8C99", "8C9C",
};
enum hp_wmi_radio {
--
2.51.0
next prev parent reply other threads:[~2025-11-24 8:06 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-24 8:06 [PATCH AUTOSEL 6.17-5.10] platform/x86: huawei-wmi: add keys for HONOR models Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17] sched_ext: Fix possible deadlock in the deferred_irq_workfn() Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17-5.15] HID: elecom: Add support for ELECOM M-XT3URBK (018F) Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17] platform/x86: intel-uncore-freq: Add additional client processors Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17-6.6] platform/x86/amd/pmc: Add spurious_8042 to Xbox Ally Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17-5.10] pinctrl: qcom: msm: Fix deadlock in pinmux configuration Sasha Levin
2025-11-24 8:06 ` Sasha Levin [this message]
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17-5.10] samples: work around glibc redefining some of our defines wrong Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17-6.6] HID: hid-input: Extend Elan ignore battery quirk to USB Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17] HID: lenovo: fixup Lenovo Yoga Slim 7x Keyboard rdesc Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17] platform/x86/amd/pmc: Add support for Van Gogh SoC Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17] sched_ext: Use IRQ_WORK_INIT_HARD() to initialize rq->scx.kick_cpus_irq_work Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17] platform/x86/intel/hid: Add Nova Lake support Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17] platform/x86: hp-wmi: mark Victus 16-r0 and 16-s0 for victus_s fan and thermal profile support Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17-5.4] platform/x86: acer-wmi: Ignore backlight event Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17] platform/x86: hp-wmi: Add Omen MAX 16-ah0xx fan support and thermal profile Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17-6.6] platform/x86/amd: pmc: Add Lenovo Legion Go 2 to pmc quirk list Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17-6.6] nvme: fix admin request_queue lifetime Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17-6.1] LoongArch: Mask all interrupts during kexec/kdump Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17-6.1] HID: apple: Add SONiX AK870 PRO to non_apple_keyboards quirk list Sasha Levin
2025-11-24 8:06 ` [PATCH AUTOSEL 6.17-5.4] bfs: Reconstruct file type when loading from disk 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=20251124080644.3871678-7-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=alexandre.f.demers@gmail.com \
--cc=edip@medip.dev \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=julien.robin28@free.fr \
--cc=krishna.chomal108@gmail.com \
--cc=kuurtb@gmail.com \
--cc=luzmaximilian@gmail.com \
--cc=mario.limonciello@amd.com \
--cc=mpearson-lenovo@squebb.ca \
--cc=patches@lists.linux.dev \
--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