From: Marco Scardovi <scardracs@disroot.org>
To: platform-driver-x86@vger.kernel.org, Hans de Goede <hansg@kernel.org>
Cc: luke@ljones.dev, ilpo.jarvinen@linux.intel.com,
corentin.chary@gmail.com, denis.benato@linux.dev,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/2] platform/x86: asus-armoury: add Whisper Mode support
Date: Tue, 28 Jul 2026 15:56:02 +0200 [thread overview]
Message-ID: <y0qKqYgBT5Cpfe4BHTFqrA@disroot.org> (raw)
In-Reply-To: <d88d0945-71e0-4d21-b154-d0d837624858@kernel.org>
In data martedì 28 luglio 2026 13:39:39 Ora legale dell’Europa centrale, Hans
de Goede ha scritto:
> Hi,
>
> Thank you for your patch.
>
> On 28-Jul-26 09:18, Marco Scardovi wrote:
> > This series introduces support for ASUS WMI Whisper Mode hardware controls
> > in the asus-wmi header and asus-armoury driver.
> >
> > Background & Findings:
> > ----------------------
> > After talking with Denis and thanks to NeuroMarshal reverse engineering
> > and
> > firmware trace analysis on modern ASUS laptops, three specific WMI Device
> > IDs were identified that manage acoustic profiles and thermal regulation
> > under ASUS Whisper Mode:
> >
> > 1. ASUS_WMI_DEVID_WHISPER_MODE (0x0012007A):
> > - Controls the BIOS-level Whisper Mode acoustic profile toggle
> > (read/write boolean).>
> > 2. ASUS_WMI_DEVID_WHISPER_ENABLE (0x00090022):
> > - Enables or disables Dynamic Whisper acoustic regulation (read/write
> > boolean).>
> > 3. ASUS_WMI_DEVID_WHISPER_STATUS (0x00090023):
> > - Reports status and allows runtime control over Dynamic Whisper state
> > (read/write boolean).
> I wonder how this interacts with the platform_profile stuff ?
>
> I would expect enabling whisper mode to lower the max performance,
> so does this automatically change the platform_profile away
> from performance when it is set to performance ?
>
> Note the platform_profile API is extensible. To me it seems more
> logical to expose this as a whisper mode platform-profile ?
>
> Regards,
>
> Hans
Hi Hans,
Thanks for the feedback!
Here you can find my opinions on your questions.
1. Interaction with platform_profile:
In ASUS laptops, where presents, Whisper Mode operates as an
independent boolean toggle/feature controlling fan acoustic target limits in
firmware/EC, rather than acting as a global thermal profile. Setting
WHISPER_MODE or WHISPER_ENABLE via WMI sends a direct call to the EC/BIOS,
which adjusts acoustic thresholds internally without altering the active
platform_profile state (throttle_thermal_policy) in asus-wmi. IIRC on Windows
it even permits to "hear" the ambient to make the fans run in a way to blend
with the ambient noise.
2. platform_profile vs firmware_attributes (asus-armoury):
platform_profile is designed for mutually exclusive global power/thermal
modes (Quiet, Balanced, Performance). Whisper Mode, on the other hand,
consists of independent BIOS feature toggles (0/1 controls for BIOS Whisper
Mode, Dynamic Whisper Enable, and Status).
Since asus-armoury is dedicated to exposing BIOS/Armoury Crate firmware
attributes via fw_attributes_class (similar to nv_dynamic_boost,
nv_temp_target, panel_od, etc.), exposing these three WMI controls as
sysfs firmware attributes fits the overall design of asus-armoury much
better than extending platform_profile.
I hope I've been of help. Feel free to let me know if you have more
questions: I'll try to answer the best of my capacities.
Best regards,
Marco
>
> > Series Overview:
> > ----------------
> > - Patch 1/2: Adds WMI Device ID macro definitions to
> >
> > include/linux/platform_data/x86/asus-wmi.h.
> >
> > - Patch 2/2: Exposes whisper_mode, whisper_enable, and whisper_status
> > sysfs
> >
> > attribute groups in drivers/platform/x86/asus-armoury.c.
> >
> > Safety & Compatibility:
> > -----------------------
> > All newly introduced attributes are probed via armoury_has_devstate()
> > before sysfs registration. On devices where these WMI methods are not
> > implemented by firmware, the sysfs nodes are gracefully omitted without
> > impacting existing attributes or functionality.
> >
> > Validation:
> > -----------
> > - Build verification against linux-next cleanly with zero warnings or
> > errors. - Coding style and formatting verified via git diff --check.
> >
> > Note:
> > -----------
> > Unfortunately, due to it being missing on my laptop, I'm not able to
> > verify
> > if the WhisperMode works as intended. The values are the same reported by
> > NeuroMarshal on his reverse engineering of Armoury Crate [1] so they
> > *should* work.
> >
> > [1] https://github.com/NeuroMarshal/armoury-linux-probe
> >
> > Marco Scardovi (2):
> > platform/x86: asus-wmi: add Whisper Mode WMI device ID defines
> > platform/x86: asus-armoury: add Whisper Mode attributes
> >
> > drivers/platform/x86/asus-armoury.c | 14 ++++++++++++++
> > include/linux/platform_data/x86/asus-wmi.h | 5 +++++
> > 2 files changed, 19 insertions(+)
next prev parent reply other threads:[~2026-07-28 13:56 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-28 7:18 Marco Scardovi
2026-07-28 7:18 ` [PATCH 1/2] platform/x86: asus-wmi: add Whisper Mode WMI device ID defines Marco Scardovi
2026-07-28 7:18 ` [PATCH 2/2] platform/x86: asus-armoury: add Whisper Mode attributes Marco Scardovi
2026-07-28 11:39 ` [PATCH 0/2] platform/x86: asus-armoury: add Whisper Mode support Hans de Goede
2026-07-28 13:56 ` Marco Scardovi [this message]
2026-07-29 7:32 ` Hans de Goede
2026-07-29 13:10 ` Denis Benato
2026-07-29 13:22 ` Marco Scardovi
2026-07-29 13:34 ` Denis Benato
2026-07-29 14:43 ` Marco Scardovi
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=y0qKqYgBT5Cpfe4BHTFqrA@disroot.org \
--to=scardracs@disroot.org \
--cc=corentin.chary@gmail.com \
--cc=denis.benato@linux.dev \
--cc=hansg@kernel.org \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=luke@ljones.dev \
--cc=platform-driver-x86@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
Powered by JetHome