From: Simon Trimmer simont@opensource.cirrus.com
[ Upstream commit f7690d058170dbc1520b0bfbc3d9daf046b59326 ]
These Lenovo Laptops have the DMICs connected to the host instead of the CS42L43 and so need the SOC_SDW_CODEC_MIC quirk.
Signed-off-by: Simon Trimmer simont@opensource.cirrus.com Link: https://patch.msgid.link/20250702112235.377479-1-simont@opensource.cirrus.co... Signed-off-by: Mark Brown broonie@kernel.org Signed-off-by: Sasha Levin sashal@kernel.org ---
LLM Generated explanations, may be completely bogus:
Based on my analysis of the commit and the surrounding code context, I can now provide my assessment:
**YES**
This commit should be backported to stable kernel trees for the following reasons:
1. **Bug Fix for Hardware Functionality**: The commit fixes audio functionality on specific Lenovo laptop models (P1 and P16) where the DMICs (Digital Microphones) are incorrectly routed. Without this quirk, the microphones on these laptops won't work properly because the system would expect them to be connected to the CS42L43 codec when they're actually connected to the host.
2. **Small and Contained Change**: The patch only adds three lines to the `sof_sdw_ssid_quirk_table[]` array: ```c SND_PCI_QUIRK(0x17aa, 0x2347, "Lenovo P16", SOC_SDW_CODEC_MIC), SND_PCI_QUIRK(0x17aa, 0x2348, "Lenovo P16", SOC_SDW_CODEC_MIC), SND_PCI_QUIRK(0x17aa, 0x2349, "Lenovo P1", SOC_SDW_CODEC_MIC), ``` This is a minimal, low-risk change that only affects the specific hardware identified by the PCI subsystem IDs.
3. **Follows Established Pattern**: The commit follows the exact same pattern as the previously backported commits shown in the similar commits list: - "ASoC: Intel: sof_sdw: Add quirk for Asus Zenbook S16" (marked as YES for backporting) - "ASoC: Intel: sof_sdw: Add quirk for Asus Zenbook S14" (marked as YES for backporting) - Multiple other Lenovo quirk fixes that were marked YES for backporting
4. **No Architectural Changes**: The commit doesn't introduce any new features or make architectural changes. It simply adds device IDs to an existing quirk table that tells the driver to exclude the CS42L43 microphone DAI link for these specific models.
5. **Critical for Affected Users**: Without this fix, users of these Lenovo laptop models would have non-functional microphones, which is a significant usability issue that affects basic functionality.
6. **Zero Risk to Other Systems**: The quirk only activates for systems with the specific PCI subsystem vendor ID (0x17aa for Lenovo) and the exact subsystem device IDs (0x2347, 0x2348, 0x2349). There's no risk of regression on other hardware.
The commit is a straightforward hardware enablement fix that restores proper microphone functionality on specific Lenovo laptop models by correctly identifying their DMIC routing configuration. It follows stable tree rules by being a targeted bug fix with minimal changes and no risk to unaffected systems.
sound/soc/intel/boards/sof_sdw.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/sound/soc/intel/boards/sof_sdw.c b/sound/soc/intel/boards/sof_sdw.c index 095d08b3fc824..380588fc2baf9 100644 --- a/sound/soc/intel/boards/sof_sdw.c +++ b/sound/soc/intel/boards/sof_sdw.c @@ -765,6 +765,9 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = { static const struct snd_pci_quirk sof_sdw_ssid_quirk_table[] = { SND_PCI_QUIRK(0x1043, 0x1e13, "ASUS Zenbook S14", SOC_SDW_CODEC_MIC), SND_PCI_QUIRK(0x1043, 0x1f43, "ASUS Zenbook S16", SOC_SDW_CODEC_MIC), + SND_PCI_QUIRK(0x17aa, 0x2347, "Lenovo P16", SOC_SDW_CODEC_MIC), + SND_PCI_QUIRK(0x17aa, 0x2348, "Lenovo P16", SOC_SDW_CODEC_MIC), + SND_PCI_QUIRK(0x17aa, 0x2349, "Lenovo P1", SOC_SDW_CODEC_MIC), {} };