X86 platform drivers
 help / color / mirror / Atom feed
From: Idotoho Reimon Simanjuntak <idotohors@gmail.com>
To: platform-driver-x86@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, "Hans de Goede" <hansg@kernel.org>,
	"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
	"Denis Benato" <denis.benato@linux.dev>,
	"Luke D . Jones" <luke@ljones.dev>,
	"Corentin Chary" <corentin.chary@gmail.com>,
	"Idotoho Reimon Simanjuntak" <idotohors@gmail.com>
Subject: [PATCH v3 0/3] platform/x86: asus-wmi: fix FA401 series keyboard sleep strobe
Date: Thu,  3 Sep 2026 00:47:15 +0700	[thread overview]
Message-ID: <20260902174718.16228-1-idotohors@gmail.com> (raw)

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@gmail.com/ # 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


             reply	other threads:[~2026-09-02 17:47 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-02 17:47 Idotoho Reimon Simanjuntak [this message]
2026-09-02 17:47 ` [PATCH v3 1/3] platform/x86: asus-wmi: use named masks for TUF RGB commands Idotoho Reimon Simanjuntak
2026-09-02 18:44   ` Denis Benato
2026-09-02 17:47 ` [PATCH v3 2/3] platform/x86: asus-wmi: enable TUF RGB state for FA401 via DMI quirk Idotoho Reimon Simanjuntak
2026-09-02 18:40   ` Denis Benato
2026-09-02 17:47 ` [PATCH v3 3/3] platform/x86: asus-wmi: re-assert FA401 keyboard state before S0ix Idotoho Reimon Simanjuntak

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=20260902174718.16228-1-idotohors@gmail.com \
    --to=idotohors@gmail.com \
    --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