[PATCH v3 0/3] platform/x86: asus-wmi: fix FA401 series keyboard sleep strobe
From: Idotoho Reimon Simanjuntak
Date: Wed Sep 02 2026 - 14:32:49 EST
This series fixes the keyboard sleep strobe effect on ASUS TUF Gaming
FA401 (A14) series laptops and refactors the TUF RGB state/mode
interface.
The FA401 does not report the TUF RGB state WMI device (0x00100057) via
standard DSTS probing, yet the EC supports the state flags required for
the sleep strobe animation. In addition, Modern Standby (S0ix/s2idle)
entry requires re-asserting the keyboard backlight and power state at
LPS0 prepare time because display servers and DRM drivers blank the
backlight to 0 prior to sleep.
Changes in v3:
- Split the series into 3 patches: preparatory bitmask cleanup, FA401
DMI quirk, and S0ix sleep re-assertion (per Ilpo Järvinen).
- Use FIELD_PREP() and named GENMASK() definitions consistently
(per Ilpo Järvinen).
- Address Denis Benato's feedback regarding userspace policy:
* Check the TUF_RGB_STATE_SLEEP flag so the kernel honors any user
decision to disable sleep LEDs.
* Dynamically track the user's active brightness level
(kbd_led_last_level) so the sleep strobe preserves dim/bright
preferences rather than forcing max brightness.
- Hook into ACPI LPS0 s2idle dev ops (.prepare): ensures brightness and
state are re-asserted after the display server and DRM drivers blank
the screen, immediately prior to S0ix entry.
Link: https://lore.kernel.org/platform-driver-x86/20260902032353.16106-1-idotohors@xxxxxxxxx/ # v2
Idotoho Reimon Simanjuntak (3):
platform/x86: asus-wmi: use named masks for TUF RGB commands
platform/x86: asus-wmi: enable TUF RGB state for FA401 via DMI quirk
platform/x86: asus-wmi: re-assert FA401 keyboard state before S0ix
drivers/platform/x86/asus-nb-wmi.c | 13 ++++
drivers/platform/x86/asus-wmi.c | 120 +++++++++++++++++++++++++----
drivers/platform/x86/asus-wmi.h | 1 +
3 files changed, 118 insertions(+), 16 deletions(-)
--
2.55.0