From: Sasha Levin <sashal@kernel.org>
To: patches@lists.linux.dev, stable@vger.kernel.org
Cc: Gabriel Santese <santesegabriel@gmail.com>,
Mark Brown <broonie@kernel.org>, Sasha Levin <sashal@kernel.org>,
mario.limonciello@amd.com, tiwai@suse.de,
venkataprasad.potturu@amd.com, talhah.peerbhai@gmail.com
Subject: [PATCH AUTOSEL 6.15 08/20] ASoC: amd: yc: Add quirk for MSI Bravo 17 D7VF internal mic
Date: Tue, 24 Jun 2025 00:11:07 -0400 [thread overview]
Message-ID: <20250624041120.83191-8-sashal@kernel.org> (raw)
In-Reply-To: <20250624041120.83191-1-sashal@kernel.org>
From: Gabriel Santese <santesegabriel@gmail.com>
[ Upstream commit ba06528ad5a31923efc24324706116ccd17e12d8 ]
MSI Bravo 17 (D7VF), like other laptops from the family,
has broken ACPI tables and needs a quirk for internal mic
to work properly.
Signed-off-by: Gabriel Santese <santesegabriel@gmail.com>
Link: https://patch.msgid.link/20250530005444.23398-1-santesegabriel@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
**YES**
This commit should be backported to stable kernel trees. Here's my
extensive analysis:
## Analysis of the Commit
### 1. **Nature of the Fix**
This commit adds a DMI quirk entry for the MSI Bravo 17 D7VF laptop to
enable its internal microphone. The code change is minimal and follows
an established pattern:
```c
+ {
+ .driver_data = &acp6x_card,
+ .matches = {
+ DMI_MATCH(DMI_BOARD_VENDOR, "Micro-Star
International Co., Ltd."),
+ DMI_MATCH(DMI_PRODUCT_NAME, "Bravo 17 D7VF"),
+ }
+ },
```
### 2. **Bug Being Fixed**
The commit message explicitly states "has broken ACPI tables and needs a
quirk for internal mic to work properly." This is fixing a real hardware
functionality issue where the internal microphone doesn't work without
this quirk.
### 3. **User Impact**
Without this fix, users of the MSI Bravo 17 D7VF laptop cannot use their
internal microphone, which is a significant functionality loss for:
- Video conferencing
- Voice recording
- Voice commands
- Any application requiring microphone input
### 4. **Code Analysis**
Looking at the probe function in `acp6x_probe()`:
- The driver first tries to detect DMIC support via ACPI methods
(`AcpDmicConnected` and `_WOV`)
- If ACPI detection fails or returns incorrect values (as mentioned in
commit - "broken ACPI tables"), it falls back to DMI quirk table
matching
- Without the quirk entry, `dmi_first_match(yc_acp_quirk_table)` returns
NULL, and the card won't be set up properly, resulting in no
microphone support
### 5. **Consistency with Similar Commits**
All similar commits provided as reference were marked with "Backport
Status: YES":
- "ASoC: amd: yc: Add a quirk for MSI Bravo 17 (D7VEK)" - YES
- "ASoC: amd: yc: Add DMI quirk for MSI Bravo 15 C7VF" - YES (includes
Cc: stable)
- "ASoC: amd: yc: fix internal mic on Redmi G 2022" - YES
- "ASoC: amd: yc: Add DMI quirk for Lenovo Ideapad Pro 5 16ARP8" - YES
(includes Cc: stable)
- "ASoC: amd: yc: Fix non-functional mic on ASUS E1404FA" - YES
### 6. **Risk Assessment**
- **Minimal risk**: The change only adds a new DMI match entry
- **No architectural changes**: Pure data addition to existing quirk
table
- **No behavioral changes**: Only affects the specific laptop model
- **Well-tested pattern**: Follows exact same pattern as dozens of other
entries in the table
### 7. **Stable Tree Criteria**
This commit meets all stable tree criteria:
- ✓ Fixes a real bug affecting users (non-functional microphone)
- ✓ Small and contained change (7 lines addition)
- ✓ No side effects beyond fixing the specific issue
- ✓ No new features or architectural changes
- ✓ Hardware enablement fix for specific model
### 8. **Pattern Recognition**
This is part of the MSI Bravo laptop family fixes:
- Bravo 15 B7ED already has quirk
- Bravo 15 C7VF already has quirk (with Cc: stable)
- Bravo 17 D7VEK already has quirk
- This adds Bravo 17 D7VF to complete the family
The commit follows the exact same pattern and reasoning as previous MSI
Bravo laptop quirks that were successfully backported to stable trees,
indicating this should also be backported for consistency and user
benefit.
sound/soc/amd/yc/acp6x-mach.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/sound/soc/amd/yc/acp6x-mach.c b/sound/soc/amd/yc/acp6x-mach.c
index e632f16c91025..9ce4339680e35 100644
--- a/sound/soc/amd/yc/acp6x-mach.c
+++ b/sound/soc/amd/yc/acp6x-mach.c
@@ -437,6 +437,13 @@ static const struct dmi_system_id yc_acp_quirk_table[] = {
DMI_MATCH(DMI_PRODUCT_NAME, "Bravo 17 D7VEK"),
}
},
+ {
+ .driver_data = &acp6x_card,
+ .matches = {
+ DMI_MATCH(DMI_BOARD_VENDOR, "Micro-Star International Co., Ltd."),
+ DMI_MATCH(DMI_PRODUCT_NAME, "Bravo 17 D7VF"),
+ }
+ },
{
.driver_data = &acp6x_card,
.matches = {
--
2.39.5
next prev parent reply other threads:[~2025-06-24 4:11 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-24 4:11 [PATCH AUTOSEL 6.15 01/20] x86/platform/amd: move final timeout check to after final sleep Sasha Levin
2025-06-24 4:11 ` [PATCH AUTOSEL 6.15 02/20] drm/msm: Fix a fence leak in submit error path Sasha Levin
2025-06-24 4:11 ` [PATCH AUTOSEL 6.15 03/20] drm/msm: Fix another leak in the " Sasha Levin
2025-06-24 4:11 ` [PATCH AUTOSEL 6.15 04/20] ALSA: sb: Don't allow changing the DMA mode during operations Sasha Levin
2025-06-24 4:11 ` [PATCH AUTOSEL 6.15 05/20] ALSA: sb: Force to disable DMAs once when DMA mode is changed Sasha Levin
2025-06-24 4:11 ` [PATCH AUTOSEL 6.15 06/20] ata: libata-acpi: Do not assume 40 wire cable if no devices are enabled Sasha Levin
2025-06-24 4:11 ` [PATCH AUTOSEL 6.15 07/20] ata: pata_cs5536: fix build on 32-bit UML Sasha Levin
2025-06-24 4:11 ` Sasha Levin [this message]
2025-06-24 4:11 ` [PATCH AUTOSEL 6.15 09/20] platform/x86/amd/pmc: Add PCSpecialist Lafite Pro V 14M to 8042 quirks list Sasha Levin
2025-06-24 4:11 ` [PATCH AUTOSEL 6.15 10/20] genirq/irq_sim: Initialize work context pointers properly Sasha Levin
2025-06-24 4:11 ` [PATCH AUTOSEL 6.15 11/20] powerpc: Fix struct termio related ioctl macros Sasha Levin
2025-06-24 4:11 ` [PATCH AUTOSEL 6.15 12/20] ASoC: amd: yc: update quirk data for HP Victus Sasha Levin
2025-06-24 4:11 ` [PATCH AUTOSEL 6.15 13/20] regulator: fan53555: add enable_time support and soft-start times Sasha Levin
2025-06-24 4:11 ` [PATCH AUTOSEL 6.15 14/20] scsi: target: Fix NULL pointer dereference in core_scsi3_decode_spec_i_port() Sasha Levin
2025-06-24 4:11 ` [PATCH AUTOSEL 6.15 15/20] aoe: defer rexmit timer downdev work to workqueue Sasha Levin
2025-06-24 4:11 ` [PATCH AUTOSEL 6.15 16/20] wifi: mac80211: drop invalid source address OCB frames Sasha Levin
2025-06-24 4:11 ` [PATCH AUTOSEL 6.15 17/20] wifi: ath6kl: remove WARN on bad firmware input Sasha Levin
2025-06-24 4:11 ` [PATCH AUTOSEL 6.15 18/20] ACPICA: Refuse to evaluate a method if arguments are missing Sasha Levin
2025-06-24 4:11 ` [PATCH AUTOSEL 6.15 19/20] mtd: spinand: fix memory leak of ECC engine conf Sasha Levin
2025-06-24 4:11 ` [PATCH AUTOSEL 6.15 20/20] rcu: Return early if callback is not specified 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=20250624041120.83191-8-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=broonie@kernel.org \
--cc=mario.limonciello@amd.com \
--cc=patches@lists.linux.dev \
--cc=santesegabriel@gmail.com \
--cc=stable@vger.kernel.org \
--cc=talhah.peerbhai@gmail.com \
--cc=tiwai@suse.de \
--cc=venkataprasad.potturu@amd.com \
/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