From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1DF98221DB3; Tue, 24 Jun 2025 04:11:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750738293; cv=none; b=WRtuJtsJTYnnUZ8tvZMw6vj81rmu8GyiEydH0gK3kofKDZNWTrEaE5k1IMosKuW0Blks6akJ+/VuLb7gfsXNRreQ1J8a82LThEFERNxjjQi6ULWXcW/FUq46KrBpw2u1ro05taJFRFEMUtMdQpLx40Mf1h0biNnvqrG58eiJMNE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750738293; c=relaxed/simple; bh=/iRNU+EkQaTv8q7sY8RusloUPQRZmgHJuNsbZTVYgmE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Type; b=awSw8RNBjj/kSITmmgZiTh1yItDB9VeOLeXwnsn+q/d+bc07BAc0xGLAMXf+ipy136jKayRme1e9Mhzo3v49BLkigZrLqvI4el28Lf7QaZzzrfe+kJBVWjYvx08jL79TupO+92T1+IHBQUnq1eorjKLHUvSnt3YAeV8jXCHZVCg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=UbRFnJd2; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="UbRFnJd2" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A69B1C4CEE3; Tue, 24 Jun 2025 04:11:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1750738293; bh=/iRNU+EkQaTv8q7sY8RusloUPQRZmgHJuNsbZTVYgmE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UbRFnJd2ZKbeU5K5TiRCLydEjx/S518D/SWMXJ3VcZAAv/8rJJLY8iTbz9EFbAZ2w SxIzzFcyIrxfpQt5BWzUj/tyt6PBMB1Nx/LrfuV39Rc9TrUsW4iP2Ccg+T5WptzqVr 7Doa2Q/i13TSWigKqfsBy72M0Yj834Q0QoPITfuTVk1lgXuZYJFRFQRQ8hqNM4si6v eFoTVhZ0S43hm2f+dPw793M4ol+Yjv+VPf4FNoYyuzps1xBB3SViGfdu45BsbVijVD pd7RQ1FE/K6lxBYSDzegZT42iTnixMG2kEoR4nJDuOkh9RDfF6wRzueVwxKgWrDt8/ cGUshShhAOVZQ== From: Sasha Levin To: patches@lists.linux.dev, stable@vger.kernel.org Cc: Mario Limonciello , Raoul , =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= , Sasha Levin , Shyam-sundar.S-k@amd.com, platform-driver-x86@vger.kernel.org Subject: [PATCH AUTOSEL 6.15 09/20] platform/x86/amd/pmc: Add PCSpecialist Lafite Pro V 14M to 8042 quirks list Date: Tue, 24 Jun 2025 00:11:08 -0400 Message-Id: <20250624041120.83191-9-sashal@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250624041120.83191-1-sashal@kernel.org> References: <20250624041120.83191-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: patches@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-stable: review X-Patchwork-Hint: Ignore X-stable-base: Linux 6.15.3 Content-Transfer-Encoding: 8bit From: Mario Limonciello [ Upstream commit 9ba75ccad85708c5a484637dccc1fc59295b0a83 ] Every other s2idle cycle fails to reach hardware sleep when keyboard wakeup is enabled. This appears to be an EC bug, but the vendor refuses to fix it. It was confirmed that turning off i8042 wakeup avoids ths issue (albeit keyboard wakeup is disabled). Take the lesser of two evils and add it to the i8042 quirk list. Reported-by: Raoul Closes: https://bugzilla.kernel.org/show_bug.cgi?id=220116 Tested-by: Raoul Signed-off-by: Mario Limonciello Link: https://lore.kernel.org/r/20250611203341.3733478-1-superm1@kernel.org Reviewed-by: Ilpo Järvinen Signed-off-by: Ilpo Järvinen Signed-off-by: Sasha Levin --- **YES** This commit should be backported to stable kernel trees. Here's the extensive explanation based on the code analysis: ## Key Reasons for Backporting: ### 1. **Bug Fix for Real Hardware Issue** The commit fixes a legitimate suspend/resume bug on the PCSpecialist Lafite Pro V 14M laptop where: - Every other s2idle cycle fails to reach hardware sleep when keyboard wakeup is enabled - This is confirmed to be an EC (Embedded Controller) firmware bug - The issue causes spurious wakeups, severely affecting power management ### 2. **Simple, Contained Fix** The change is minimal and low-risk: ```diff + { + .ident = "PCSpecialist Lafite Pro V 14M", + .driver_data = &quirk_spurious_8042, + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "PCSpecialist"), + DMI_MATCH(DMI_PRODUCT_NAME, "Lafite Pro V 14M"), + } + }, ``` It only adds a DMI match entry to an existing quirk list, using an already-established mechanism (`quirk_spurious_8042`). ### 3. **Follows Established Pattern** This commit follows the exact same pattern as previous backported commits: - Commit `a55bdad5dfd1` (Framework 13) - BACKPORTED - Commit `0887817e4953` (MECHREVO Wujie 14XA) - BACKPORTED Both use the same `quirk_spurious_8042` mechanism and were deemed suitable for stable. ### 4. **Hardware-Specific Fix** The fix is: - Only activated for specific hardware (DMI matching) - Cannot affect other systems - Has zero risk of regression on non-affected hardware ### 5. **User Impact** >From the commit message and bug report: - The vendor refuses to fix the EC firmware bug - Without this fix, users experience broken suspend/resume behavior - This is the "lesser of two evils" - disabling keyboard wakeup vs. having unreliable suspend ### 6. **Implementation Details** The quirk works by setting `dev->disable_8042_wakeup = true` in `amd_pmc_quirks_init()`, which triggers `amd_pmc_wa_irq1()` during suspend to: ```c disable_irq_wake(1); device_set_wakeup_enable(d, false); ``` This disables IRQ1 (keyboard) as a wakeup source, preventing the spurious wakeups. ### 7. **Tested Solution** The commit includes: - Reported-by tag - Tested-by tag - Reference to bug report (https://bugzilla.kernel.org/show_bug.cgi?id=220116) This indicates the fix has been verified to resolve the issue on affected hardware. The commit meets all criteria for stable backporting: it fixes a real bug affecting users, is minimal in scope, has no risk of regression, and follows the established pattern of similar fixes that have already been backported. drivers/platform/x86/amd/pmc/pmc-quirks.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/platform/x86/amd/pmc/pmc-quirks.c b/drivers/platform/x86/amd/pmc/pmc-quirks.c index 2e3f6fc67c568..7ed12c1d3b34c 100644 --- a/drivers/platform/x86/amd/pmc/pmc-quirks.c +++ b/drivers/platform/x86/amd/pmc/pmc-quirks.c @@ -224,6 +224,15 @@ static const struct dmi_system_id fwbug_list[] = { DMI_MATCH(DMI_BOARD_NAME, "WUJIE14-GX4HRXL"), } }, + /* https://bugzilla.kernel.org/show_bug.cgi?id=220116 */ + { + .ident = "PCSpecialist Lafite Pro V 14M", + .driver_data = &quirk_spurious_8042, + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "PCSpecialist"), + DMI_MATCH(DMI_PRODUCT_NAME, "Lafite Pro V 14M"), + } + }, {} }; -- 2.39.5