Re: [PATCH 0/2] platform/x86: asus-armoury: add Whisper Mode support

Hans de Goede <[email protected]> Tue, 28 Jul 2026 13:39:39 +0200
Newsgroups org.kernel.vger.platform-driver-x86,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
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


> 
> 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(+)
>