[PATCH AUTOSEL 7.0-6.1] ASoC: amd: yc: Add MSI Vector A16 HX A8WHG to quirk table

Sasha Levin
2026-04-20T13:30:49Z

From: Ihor Uzlov <igor.uzlov@gmail.com>

[ Upstream commit 72dcd84938f5026dc44d0e7e1e68d9d571c113a0 ]

Add the MSI Vector A16 HX A8WHG (board MS-15MM) to the DMI quirk table
to enable DMIC support. This laptop uses an AMD Ryzen 9 7945HX (Dragon
Range) with the ACP6x audio coprocessor (rev 0x62) and a Realtek ALC274
codec. The built-in digital microphone is connected via the ACP PDM
interface and requires this DMI entry to be activated.

Tested on MSI Vector A16 HX A8WHG with kernel 6.8.0-107 (Ubuntu 24.04).
DMIC capture device appears as 'acp6x' and records audio correctly.

Signed-off-by: Ihor Uzlov <igor.uzlov@gmail.com>
Link: https://patch.msgid.link/20260410094553.24654-1-igor.uzlov@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---

LLM Generated explanations, may be completely bogus:

Now I have all the information needed for a thorough analysis. Let me
compile the findings.

---

## PHASE 1: COMMIT MESSAGE FORENSICS

**Step 1.1: Subject Line**
- Subsystem: `ASoC: amd: yc` (AMD Yellow Carp audio)
- Action verb: "Add" (adding a new DMI quirk entry)
- Summary: Add MSI Vector A16 HX A8WHG laptop to the DMI quirk table for
DMIC support
- Record: [ASoC: amd: yc] [Add] [New DMI entry for MSI laptop to enable
DMIC]

**Step 1.2: Tags**
- Signed-off-by: Ihor Uzlov (author)
- Link:
https://patch.msgid.link/20260410094553.24654-1-igor.uzlov@gmail.com
- Signed-off-by: Mark Brown (ASoC subsystem maintainer, applied the
patch)
- No Fixes: tag (expected for a quirk addition)
- No Reported-by: tag (user self-submitted)
- No Cc: stable tag (expected - why this needs review)
- Record: Author is the laptop owner/tester. Applied by Mark Brown, the
ASoC maintainer.

**Step 1.3: Commit Body**
- Hardware: MSI Vector A16 HX A8WHG (board MS-15MM), AMD Ryzen 9 7945HX,
ACP6x audio coprocessor (rev 0x62), Realtek ALC274 codec
- Bug: Built-in digital microphone does not work without the DMI quirk
entry
- Tested: kernel 6.8.0-107 (Ubuntu 24.04), DMIC capture via 'acp6x'
works correctly
- Record: Without this entry, the laptop's built-in microphone is non-
functional. User-tested and confirmed working.

**Step 1.4: Hidden Bug Fix Detection**
- This is a hardware enablement quirk, not a hidden bug fix. The
microphone hardware exists but the driver lacks the DMI entry to
recognize and activate it.
- Record: This is a straightforward hardware quirk addition, not a
disguised bug fix. The "bug" is that the microphone doesn't work at
all on this laptop without it.

## PHASE 2: DIFF ANALYSIS

**Step 2.1: Inventory**
- 1 file modified: `sound/soc/amd/yc/acp6x-mach.c`
- +7 lines added, 0 lines removed
- Modifies: `yc_acp_quirk_table[]` (static DMI table, no code logic
change)
- Scope: Single-file, single-table-entry addition
- Record: [1 file, +7 lines] [yc_acp_quirk_table array] [Trivial table
addition]

**Step 2.2: Code Flow**
- Before: The `yc_acp_quirk_table` did not have an entry for "Vector A16
HX A8WHG"
- After: The table now includes this laptop, matched by DMI_BOARD_VENDOR
"Micro-Star International Co., Ltd." and DMI_PRODUCT_NAME "Vector A16
HX A8WHG"
- The probe function (`acp6x_probe`) calls
`dmi_first_match(yc_acp_quirk_table)` and if it finds a match, it sets
the platform driver data to `acp6x_card`, enabling DMIC support
- Record: [Before: no match -> microphone disabled] [After: match found
-> DMIC enabled]

**Step 2.3: Bug Mechanism**
- Category: (h) Hardware workaround / DMI match table entry
- The driver requires either ACPI `_WOV` / `AcpDmicConnected` properties
or a DMI quirk match to activate. This laptop apparently lacks the
ACPI properties, so a DMI entry is necessary.
- Record: [Hardware quirk/enablement] [Missing DMI entry prevents
microphone from working]

**Step 2.4: Fix Quality**
- Obviously correct: identical pattern to 100+ existing entries in the
same table
- Minimal: 7 lines, pure data addition
- Zero regression risk: only affects this specific laptop model via DMI
matching
- Record: [Trivially correct, minimal, zero regression risk]

## PHASE 3: GIT HISTORY

**Step 3.1: Blame**
- The driver was introduced in commit `fa991481b8b22a` ("ASoC: amd: add
YC machine driver using dmic") by Vijendar Mukunda, merged around
v5.16 era.
- The quirk table has been growing steadily since then, with dozens of
laptop-specific entries added over time.
- Record: Driver present since ~v5.16, quirk table is mature and
regularly updated.

**Step 3.2: No Fixes tag** - Not applicable for a quirk addition.

**Step 3.3: File History**
- The last 20 commits to this file are ALL DMI quirk additions for
various laptop models (HP, ASUS, MSI, Acer, Lenovo, etc.). This is the
standard pattern.
- Already 6 MSI entries in the table (Bravo 15 B7ED, Bravo 15 C7VF,
Bravo 17 D7VEK, Bravo 17 D7VF, Bravo 15 C7UCX, and now Vector A16 HX
A8WHG).
- Record: [Standalone commit, no prerequisites] [Follows identical
pattern to dozens of prior commits]

**Step 3.4: Author**
- Ihor Uzlov: first commit to this subsystem (likely the laptop owner)
- Applied by Mark Brown (ASoC maintainer), confirming maintainer
acceptance
- Record: [End-user contributor, patch accepted by subsystem maintainer]

**Step 3.5: Dependencies**
- No dependencies. Pure table entry addition. The driver, table
structure, and `acp6x_card` all exist in stable trees going back to
~v5.16.
- Record: [Fully standalone, no dependencies]

## PHASE 4: MAILING LIST

**Step 4.1-4.5**: Lore.kernel.org and patch.msgid.link are behind anti-
bot protections. However, the commit has Mark Brown's Signed-off-by,
confirming the ASoC maintainer reviewed and applied it. The Link tag
confirms it went through the standard mailing list submission process.
- Record: [Could not fetch lore discussion due to anti-bot measures]
[Maintainer acceptance confirmed via SOB]

## PHASE 5: CODE SEMANTIC ANALYSIS

**Step 5.1**: No functions modified. Only a data table entry added.

**Step 5.2-5.4**: The `yc_acp_quirk_table` is consumed by
`dmi_first_match()` in `acp6x_probe()`. The probe function is called
during platform device enumeration. The DMI matching is a standard
kernel mechanism - each entry only matches its specific hardware.
- Record: [Table consumed by acp6x_probe -> dmi_first_match] [Only
activates on matching hardware]

**Step 5.5**: There are 100+ similar DMI entries in this same table. The
pattern is well-established.
- Record: [Identical pattern used 100+ times in this file]

## PHASE 6: STABLE TREE ANALYSIS

**Step 6.1**: The driver and table structure exist in stable trees from
~v5.16 onward. This is a 7.0 tree, and the underlying
`yc_acp_quirk_table` and `acp6x_card` are present.
- Record: [Driver exists in all active stable trees (5.15+)]

**Step 6.2**: This patch will apply cleanly to any kernel that has this
file, as it's a pure insertion into a table. Minor context conflicts
possible depending on how many other quirk entries are present in a
given stable tree, but these are trivially resolved.
- Record: [Clean or trivially resolvable apply expected]

**Step 6.3**: No prior fix for this specific laptop model.
- Record: [No related fixes already in stable]

## PHASE 7: SUBSYSTEM CONTEXT

**Step 7.1**: ASoC / AMD audio drivers - IMPORTANT subsystem. Audio is
critical for laptop users.
- Record: [sound/soc/amd/yc/] [IMPORTANT - audio hardware enablement for
laptops]

**Step 7.2**: Very active - 20 recent commits are all DMI additions,
indicating ongoing hardware enablement.
- Record: [Very active, continuous stream of hardware quirk additions]

## PHASE 8: IMPACT AND RISK

**Step 8.1**: Affects users of MSI Vector A16 HX A8WHG laptops
specifically.
- Record: [Driver-specific / laptop-model-specific]

**Step 8.2**: The trigger is deterministic - every boot on this specific
laptop hardware. Without the quirk, the built-in microphone never works.
- Record: [Always triggers on affected hardware, microphone completely
non-functional without fix]

**Step 8.3**: Failure mode: Built-in microphone completely non-
functional. This is a significant usability issue for laptop users (no
video calls, no voice recording, etc.).
- Record: [Complete hardware functionality loss, severity: HIGH for
affected users]

**Step 8.4**:
- BENEFIT: Enables microphone on a real shipping laptop. HIGH for
affected users.
- RISK: 7-line data addition affecting only one specific DMI-matched
laptop. VERY LOW.
- Record: [High benefit for affected users, very low risk universally]

## PHASE 9: SYNTHESIS

**Step 9.1: Evidence FOR backporting:**
- Pure DMI quirk table addition (7 lines, data only)
- Fixes completely broken microphone on a real shipping laptop
- Identical pattern to 100+ existing entries and dozens of prior stable-
backported commits
- Tested by the submitter on the actual hardware
- Applied by ASoC maintainer Mark Brown
- Zero regression risk (only triggers on exact DMI match)
- No dependencies, applies standalone

**Evidence AGAINST backporting:**
- None identified.

**Step 9.2: Stable Rules Checklist:**
1. Obviously correct? YES - identical to dozens of existing entries
2. Fixes a real bug? YES - broken microphone on real hardware
3. Important issue? YES - complete hardware non-functionality
4. Small and contained? YES - 7 lines, single table entry
5. No new features? YES - enables existing driver for existing hardware
6. Can apply to stable? YES - trivially

**Step 9.3: Exception Category:**
This is a **hardware quirk/workaround** - DMI match table entry for a
specific laptop model. This is an explicit exception category that is
automatically YES for stable.

**Step 9.4: Decision:**
This is a textbook stable backport candidate. It's a trivial DMI quirk
table addition that enables a broken microphone on a real laptop,
follows an identical pattern to hundreds of similar entries already in
the file, and carries zero regression risk.

## Verification

- [Phase 1] Parsed tags: Link to mailing list, Mark Brown (ASoC
maintainer) SOB confirming acceptance
- [Phase 2] Diff analysis: +7 lines, pure DMI table entry addition in
`yc_acp_quirk_table[]`
- [Phase 3] git blame: Driver introduced in commit fa991481b8b22a
(~v5.16), present in all active stable trees
- [Phase 3] git log --grep="MSI": 4 prior MSI entries in this file, same
pattern
- [Phase 3] git log -20: All 20 recent commits are DMI quirk additions,
confirming standard pattern
- [Phase 5] Read acp6x_probe(): Confirmed table consumed via
`dmi_first_match(yc_acp_quirk_table)` at line 791
- [Phase 6] File and driver exist in stable trees from v5.16+
- [Phase 7] ASoC AMD YC subsystem is actively maintained with continuous
quirk additions
- [Phase 8] Failure mode: Complete microphone non-functionality on
specific laptop, HIGH impact for affected users
- UNVERIFIED: Could not fetch lore.kernel.org discussion due to anti-bot
measures; however, maintainer acceptance is confirmed via SOB

**YES**

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 aa62009331825..5ee149afb022c 100644
--- a/sound/soc/amd/yc/acp6x-mach.c
+++ b/sound/soc/amd/yc/acp6x-mach.c
@@ -493,6 +493,13 @@ static const struct dmi_system_id yc_acp_quirk_table[] = {
DMI_MATCH(DMI_PRODUCT_NAME, "Bravo 17 D7VF"),
}
},
+ {
+ .driver_data = &acp6x_card,
+ .matches = {
+ DMI_MATCH(DMI_BOARD_VENDOR, "Micro-Star International Co., Ltd."),
+ DMI_MATCH(DMI_PRODUCT_NAME, "Vector A16 HX A8WHG"),
+ }
+ },
{
.driver_data = &acp6x_card,
.matches = {
--
2.53.0