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 6483726A0AB; Fri, 30 May 2025 12:41:16 +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=1748608876; cv=none; b=ARbPRAZnJ8/lwjHv86gANi2YVjuvyF/9aJMrI3LIcS+M6OIFRPvVv2VhHUjzr44GinwEHG3QIOKVUwtPTu0u4ndFgoFs54o21KvAQpL8ezHn60YbBIGm6a4Fkx7zP1gCJp7Wsij4XTg5YjG6dGP6j/GfslxWO0XXub3IqRVhLxg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1748608876; c=relaxed/simple; bh=UQSppB3b6dt4ajj8ijTKaWDMg2yv9mAto88MemZayUA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version:Content-Type; b=MqTU7IxeBw9ELnmi45hr75JnjZH4jhpz8weZs6SelXE+qnAy4lHAJOkxyhASd7hHW3oBkHHIhKmSNYYosqwTiNBEUwssbZDriNPxP1RoFeqU6rPc63bD7vtjEkFhewVSmd3asMbxEIt3h8Io1K92ET6WzN+Mo5dHUeQx5IzYEUA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=j3pTz1KL; 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="j3pTz1KL" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4BD25C4CEF0; Fri, 30 May 2025 12:41:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1748608876; bh=UQSppB3b6dt4ajj8ijTKaWDMg2yv9mAto88MemZayUA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=j3pTz1KLsGoeZ3J717ZQFJ1MsI0FB7Ap49EnzMJZGZOYKS+Ft9XqtmANY4ufOxmBg 1ORfi7Vn8d2UTmiEV9J+WYoCX4ItRLQcnYZc0JgU9VNN0OvBMNg2oggiJbaU88FOX3 XGzJSkTI0IZG45xmL3WHQe9RjSxM0dtGOdrzVEeOLHtx8kupKiNvG1PO6pJEqW7wqm nPZe07m3aZ2bWlfbdBuXLJHtRtdAhWad4irj5IWUXklYHYxy99adgm6nlXws5Fw/ky tecXKbkPnz9e9CcVEns7l5P7j++AS+sM41duWykV9sIkpjt8H50vnskbPYAp4h3BLW +zgrPtoMhEt3A== From: Sasha Levin To: patches@lists.linux.dev, stable@vger.kernel.org Cc: Talhah Peerbhai , Mark Brown , Sasha Levin , lgirdwood@gmail.com, perex@perex.cz, tiwai@suse.com, alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org Subject: [PATCH AUTOSEL 6.1 02/13] ASoC: amd: yc: Add quirk for Lenovo Yoga Pro 7 14ASP9 Date: Fri, 30 May 2025 08:41:01 -0400 Message-Id: <20250530124112.2576343-2-sashal@kernel.org> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250530124112.2576343-1-sashal@kernel.org> References: <20250530124112.2576343-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: stable@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore X-stable-base: Linux 6.1.140 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From: Talhah Peerbhai [ Upstream commit a28206060dc5848a1a2a15b7f6ac6223d869084d ] Similar to many other Lenovo models with AMD chips, the Lenovo Yoga Pro 7 14ASP9 (product name 83HN) requires a specific quirk to ensure internal mic detection. This patch adds a quirk fixing this. Signed-off-by: Talhah Peerbhai Link: https://patch.msgid.link/20250515222741.144616-1-talhah.peerbhai@gmail.com Signed-off-by: Mark Brown Signed-off-by: Sasha Levin --- Based on my analysis of this commit, I can provide a comprehensive assessment for backporting. **YES** This commit should be backported to stable kernel trees for the following reasons: **1. Identical Pattern to Previously Backported Commits:** All five similar commits provided in the historical context (commits for Lenovo models 82UU, 82, 82YM, 83AS, and 21M1) have "Backport Status: YES" and follow the exact same pattern as this commit. This establishes a clear precedent for backporting such changes. **2. Hardware Enablement Bug Fix:** The commit fixes a clear user-affecting bug where the internal microphone on the Lenovo Yoga Pro 7 14ASP9 (product name 83HN) is non-functional. This is a hardware compatibility issue that directly impacts users' ability to use their device's built-in microphone. **3. Minimal and Contained Change:** The code change is extremely small and safe: - Adds only a single 7-line quirk table entry to `sound/soc/amd/yc/acp6x-mach.c` - The change is purely additive - no existing code is modified - The quirk entry follows the exact same pattern as dozens of other entries in the same table - Zero risk of regression to existing functionality **4. Critical Subsystem with Safe Pattern:** While this touches audio (a critical subsystem), the change follows a well-established, safe pattern used extensively in this driver. The quirk table approach is designed specifically for adding device-specific compatibility without affecting other hardware. **5. Clear User Benefit:** Users with this specific Lenovo model will have their internal microphone functionality restored, which is essential for video calls, voice recording, and other audio input tasks. **6. Code Quality Improvement:** The commit also includes a minor whitespace fix (changing spaces to tab at line 350), improving code formatting consistency. **7. Follows Stable Tree Rules:** - Important bugfix: ✓ (enables hardware functionality) - Minimal risk: ✓ (purely additive quirk entry) - Small and contained: ✓ (7 lines added) - No architectural changes: ✓ - Confined to subsystem: ✓ (AMD YC audio driver) The commit message clearly explains the issue and solution, and the change is identical in nature to numerous other successfully backported commits for similar Lenovo audio quirks. This represents a textbook example of a stable-appropriate hardware enablement fix. sound/soc/amd/yc/acp6x-mach.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/sound/soc/amd/yc/acp6x-mach.c b/sound/soc/amd/yc/acp6x-mach.c index 1f94269e121af..d5dc1d48fca94 100644 --- a/sound/soc/amd/yc/acp6x-mach.c +++ b/sound/soc/amd/yc/acp6x-mach.c @@ -304,6 +304,13 @@ static const struct dmi_system_id yc_acp_quirk_table[] = { DMI_MATCH(DMI_PRODUCT_NAME, "83AS"), } }, + { + .driver_data = &acp6x_card, + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_NAME, "83HN"), + } + }, { .driver_data = &acp6x_card, .matches = { @@ -353,7 +360,7 @@ static const struct dmi_system_id yc_acp_quirk_table[] = { DMI_MATCH(DMI_PRODUCT_NAME, "M5402RA"), } }, - { + { .driver_data = &acp6x_card, .matches = { DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK COMPUTER INC."), -- 2.39.5