Archive-only list for patches
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: patches@lists.linux.dev, stable@vger.kernel.org
Cc: "Antheas Kapenekakis" <lkml@antheas.dev>,
	"Mario Limonciello (AMD)" <superm1@kernel.org>,
	"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
	"Sasha Levin" <sashal@kernel.org>,
	Shyam-sundar.S-k@amd.com, platform-driver-x86@vger.kernel.org
Subject: [PATCH AUTOSEL 6.17-6.6] platform/x86/amd/pmc: Add spurious_8042 to Xbox Ally
Date: Mon, 24 Nov 2025 03:06:19 -0500	[thread overview]
Message-ID: <20251124080644.3871678-5-sashal@kernel.org> (raw)
In-Reply-To: <20251124080644.3871678-1-sashal@kernel.org>

From: Antheas Kapenekakis <lkml@antheas.dev>

[ Upstream commit c0ddc54016636dd8dedfaf1a3b482a95058e1db2 ]

The Xbox Ally features a Van Gogh SoC that has spurious interrupts
during resume. We get the following logs:

atkbd_receive_byte: 20 callbacks suppressed
atkbd serio0: Spurious ACK on isa0060/serio0. Some program might be trying to access hardware directly.

So, add the spurious_8042 quirk for it. It does not have a keyboard, so
this does not result in any functional loss.

Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/4659
Signed-off-by: Antheas Kapenekakis <lkml@antheas.dev>
Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org>
Link: https://patch.msgid.link/20251024152152.3981721-3-lkml@antheas.dev
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:

## Analysis

### 1. Commit Message Analysis
The commit addresses a specific hardware issue on the "Xbox Ally" (ASUS
ROG Ally) equipped with the Van Gogh SoC.
- **Problem:** The device experiences spurious interrupts from the 8042
  controller (keyboard) during resume, causing log spam
  ("atkbd_receive_byte: 20 callbacks suppressed", "Spurious ACK...").
- **Solution:** Add the device to the `fwbug_list` with the
  `quirk_spurious_8042` quirk.
- **Context:** The device is a handheld gaming PC without a physical
  keyboard, so disabling keyboard wakeup has no functional downside.
- **Tags:** Includes "Closes:" linking to a bug report and "Reviewed-
  by:". It lacks a "Cc: stable" tag, but this is likely an oversight
  given the nature of the patch.

### 2. Deep Code Research
- **Code Change:** The patch adds a single `dmi_system_id` entry to
  `drivers/platform/x86/amd/pmc/pmc-quirks.c`.
- **Mechanism:**
  - The new entry matches the DMI data for "ASUSTeK COMPUTER INC." /
    "RC73YA".
  - It assigns `driver_data = &quirk_spurious_8042`.
  - In `amd_pmc_quirks_init()`, this quirk sets
    `dev->disable_8042_wakeup = true`.
  - During suspend, `amd_pmc_suspend_handler()` checks this flag and
    calls `amd_pmc_wa_irq1()`, which disables the IRQ1 wakeup source.
  - This prevents the firmware bug (spurious IRQ1 assertion) from
    triggering during resume.
- **Dependencies:** The quirk infrastructure (`quirk_spurious_8042`) was
  introduced in late 2023 and is present in all currently supported
  stable kernels (6.1.y and newer). The change is self-contained.

### 3. Historical Context & Precedent
This file (`pmc-quirks.c`) serves as a central registry for AMD PMC
firmware bugs. There is a strong established pattern of backporting new
entries for this specific issue:
- Commit `12a3dd4d2cd92` ("Add Stellaris Slim Gen6 AMD...")
- Commit `8822e8be86d40` ("Add MECHREVO Yilong15Pro...")
- Commit `c96f86217bb28` ("Add TUXEDO IB Pro Gen10...")
All of these were backported to stable trees. This commit follows the
exact same pattern.

### 4. Stable Kernel Rules Compliance
This commit falls strictly under the **"QUIRKS and WORKAROUNDS"**
exception in the stable kernel rules:
- **Rule:** "Hardware-specific quirks for broken/buggy devices" are
  allowed.
- **Compliance:** The patch fixes broken behavior (spurious interrupts)
  on specific hardware using an existing workaround mechanism.
- **Constraint Check:** It introduces no new features, APIs, or
  architectural changes. It is a data-only change (adding a struct
  entry).

### 5. Risk Assessment
- **Severity:** Medium. The issue causes log spam and potential resume
  quirks, which degrades the user experience on this specific device.
- **Regression Risk:** **Extremely Low**.
  - The change is guarded by a specific DMI match, ensuring it affects
    *only* the ROG Ally RC73YA.
  - The mitigation (disabling keyboard wakeup) is safe because the
    device physically lacks a keyboard.
  - The underlying logic is well-tested on other AMD platforms (Renoir,
    Cezanne, etc.).

### Conclusion
This is a textbook candidate for stable backporting. It is a surgical,
hardware-specific fix that uses existing infrastructure to resolve a
real-world issue (log spam/resume behavior) on a production device. It
carries negligible risk and aligns perfectly with the "Device Quirks"
exception of the stable kernel rules.

**YES**

 drivers/platform/x86/amd/pmc/pmc-quirks.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/platform/x86/amd/pmc/pmc-quirks.c b/drivers/platform/x86/amd/pmc/pmc-quirks.c
index 0fadcf5f288ac..404e62ad293a9 100644
--- a/drivers/platform/x86/amd/pmc/pmc-quirks.c
+++ b/drivers/platform/x86/amd/pmc/pmc-quirks.c
@@ -122,6 +122,14 @@ static const struct dmi_system_id fwbug_list[] = {
 			DMI_MATCH(DMI_PRODUCT_NAME, "21A1"),
 		}
 	},
+	{
+		.ident = "ROG Xbox Ally RC73YA",
+		.driver_data = &quirk_spurious_8042,
+		.matches = {
+			DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK COMPUTER INC."),
+			DMI_MATCH(DMI_BOARD_NAME, "RC73YA"),
+		}
+	},
 	/* https://bugzilla.kernel.org/show_bug.cgi?id=218024 */
 	{
 		.ident = "V14 G4 AMN",
-- 
2.51.0


  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 ` Sasha Levin [this message]
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 ` [PATCH AUTOSEL 6.17] platform/x86: hp-wmi: Add Omen 16-wf1xxx fan support Sasha Levin
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-5-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=Shyam-sundar.S-k@amd.com \
    --cc=ilpo.jarvinen@linux.intel.com \
    --cc=lkml@antheas.dev \
    --cc=patches@lists.linux.dev \
    --cc=platform-driver-x86@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=superm1@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