From: Sasha Levin <sashal@kernel.org>
To: patches@lists.linux.dev, stable@vger.kernel.org
Cc: Ihor Uzlov <igor.uzlov@gmail.com>,
Mark Brown <broonie@kernel.org>, Sasha Levin <sashal@kernel.org>,
Vijendar.Mukunda@amd.com, lgirdwood@gmail.com, perex@perex.cz,
tiwai@suse.com, linux-sound@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: [PATCH AUTOSEL 7.0-6.1] ASoC: amd: yc: Add MSI Vector A16 HX A8WHG to quirk table
Date: Mon, 20 Apr 2026 09:20:24 -0400 [thread overview]
Message-ID: <20260420132314.1023554-230-sashal@kernel.org> (raw)
In-Reply-To: <20260420132314.1023554-1-sashal@kernel.org>
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
next prev parent reply other threads:[~2026-04-20 13:30 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-20 13:16 [PATCH AUTOSEL 7.0-5.10] ASoC: tas2552: Allow audio enable GPIO to sleep Sasha Levin
2026-04-20 13:16 ` [PATCH AUTOSEL 7.0-5.10] ASoC: Intel: bytcr_rt5651: Fix MCLK leak on platform_clock_control error Sasha Levin
2026-04-20 13:17 ` [PATCH AUTOSEL 7.0-6.18] ALSA: usb-audio: Add iface reset and delay quirk for HUAWEI USB-C HEADSET Sasha Levin
2026-04-20 13:17 ` [PATCH AUTOSEL 6.18] ALSA: hda/realtek: Add quirk for Lenovo Yoga Pro 7 14IMH9 Sasha Levin
2026-04-20 13:17 ` [PATCH AUTOSEL 7.0-5.10] ALSA: aoa/tas: Fix OF node leak on probe failure Sasha Levin
2026-04-20 13:17 ` [PATCH AUTOSEL 7.0-5.10] ASoC: ti: davinci-mcasp: Add system suspend/resume support Sasha Levin
2026-04-20 13:17 ` [PATCH AUTOSEL 6.18] ALSA: asihpi: avoid write overflow check warning Sasha Levin
2026-04-20 13:17 ` [PATCH AUTOSEL 7.0-5.10] ASoC: rt5640: Handle 0Hz sysclk during stream shutdown Sasha Levin
2026-04-20 13:17 ` [PATCH AUTOSEL 7.0-5.10] ALSA: compress: Refuse to update timestamps for unconfigured streams Sasha Levin
2026-04-20 13:17 ` [PATCH AUTOSEL 7.0-5.10] ASoC: Intel: cht_bsw_rt5672: Fix MCLK leak on platform_clock_control error Sasha Levin
2026-04-20 13:17 ` [PATCH AUTOSEL 7.0-5.10] ASoC: codecs: wcd-clsh: Always update buck/flyback on transitions on transitions Sasha Levin
2026-04-20 13:18 ` [PATCH AUTOSEL 6.18] ALSA:usb:qcom: add AUXILIARY_BUS to Kconfig dependencies Sasha Levin
2026-04-20 13:18 ` [PATCH AUTOSEL 6.18] ASoC: SDCA: Fix overwritten var within for loop Sasha Levin
2026-04-20 13:18 ` [PATCH AUTOSEL 7.0-6.19] ASoC: sdw_utils: Add CS42L43B codec info Sasha Levin
2026-04-20 13:18 ` [PATCH AUTOSEL 7.0-6.1] ASoC: mxs-sgtl5000: disable MCLK on error paths of mxs_sgtl5000_probe() Sasha Levin
2026-04-20 13:18 ` [PATCH AUTOSEL 6.18] ASoC: amd: acp: update DMI quirk and add ACP DMIC for Lenovo platforms Sasha Levin
2026-04-20 13:19 ` [PATCH AUTOSEL 6.18] ALSA: hda/realtek: Add HP ENVY Laptop 13-ba0xxx quirk Sasha Levin
2026-04-20 13:19 ` [PATCH AUTOSEL 6.18] ALSA: usb-audio: Fix quirk flags for NeuralDSP Quad Cortex Sasha Levin
2026-04-20 13:19 ` [PATCH AUTOSEL 6.18] ASoC: amd: yc: Add DMI quirk for ASUS EXPERTBOOK BM1403CDA Sasha Levin
2026-04-20 13:19 ` [PATCH AUTOSEL 6.18] ALSA: hda/realtek: Add quirk for Lenovo Yoga Slim 7 14AKP10 Sasha Levin
2026-04-20 13:19 ` [PATCH AUTOSEL 6.18] ALSA: hda/realtek: Add quirk for Lenovo Yoga Pro 7 14IAH10 Sasha Levin
2026-04-20 13:19 ` [PATCH AUTOSEL 6.18] ASoC: stm32_sai: fix incorrect BCLK polarity for DSP_A/B, LEFT_J Sasha Levin
2026-04-20 13:20 ` [PATCH AUTOSEL 6.18] ASoC: amd: yc: Add DMI quirk for Thin A15 B7VF Sasha Levin
2026-04-20 13:20 ` [PATCH AUTOSEL 7.0-6.19] ALSA: hda/realtek: Add support for HP Laptops Sasha Levin
2026-04-20 13:20 ` [PATCH AUTOSEL 7.0-6.12] ALSA: hda/realtek: Add quirk for Acer PT316-51S headset mic Sasha Levin
2026-04-20 13:20 ` [PATCH AUTOSEL 7.0-6.18] ALSA: usb-audio: add Studio 1824 support Sasha Levin
2026-04-20 13:20 ` Sasha Levin [this message]
2026-04-20 13:20 ` [PATCH AUTOSEL 6.18] ALSA: hda/realtek: Add quirk for Samsung Book2 Pro 360 (NP950QED) Sasha Levin
2026-04-20 13:20 ` [PATCH AUTOSEL 6.18] ALSA: hda/realtek: Add mute LED quirk for HP Pavilion 15-eg0xxx Sasha Levin
2026-04-20 13:20 ` [PATCH AUTOSEL 6.18] ASoC: SOF: topology: reject invalid vendor array size in token parser Sasha Levin
2026-04-20 13:21 ` [PATCH AUTOSEL 7.0-6.12] ALSA: pcm: Use pcm_lib_apply_appl_ptr() in x32 sync_ptr Sasha Levin
2026-04-20 13:21 ` [PATCH AUTOSEL 6.18] ASoC: soc-core: call missing INIT_LIST_HEAD() for card_aux_list Sasha Levin
2026-04-20 13:21 ` [PATCH AUTOSEL 7.0-5.10] ASoC: Intel: bytcr_rt5640: Fix MCLK leak on platform_clock_control error Sasha Levin
2026-04-20 13:21 ` [PATCH AUTOSEL 7.0-6.6] ALSA: hda/realtek: Add quirk for HP Spectre x360 14-ea Sasha Levin
2026-04-20 13:22 ` [PATCH AUTOSEL 7.0-6.18] ALSA: usb-audio: Add quirk flags for Feaulle Rainbow Sasha Levin
2026-04-20 13:22 ` [PATCH AUTOSEL 6.18] ALSA: hda/realtek: add HP Laptop 15-fd0xxx mute LED quirk Sasha Levin
2026-04-20 13:22 ` [PATCH AUTOSEL 6.18] ALSA: hda/realtek: Add quirk for ASUS ROG Flow Z13-KJP GZ302EAC 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=20260420132314.1023554-230-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=Vijendar.Mukunda@amd.com \
--cc=broonie@kernel.org \
--cc=igor.uzlov@gmail.com \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=patches@lists.linux.dev \
--cc=perex@perex.cz \
--cc=stable@vger.kernel.org \
--cc=tiwai@suse.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