* [PATCH] ALSA: hda: intel-dsp-config: Force legacy HDA on Lenovo ThinkPad X1 Yoga Gen 5 @ 2026-04-04 14:47 Antti Jalomäki 2026-04-04 15:21 ` Takashi Iwai 0 siblings, 1 reply; 5+ messages in thread From: Antti Jalomäki @ 2026-04-04 14:47 UTC (permalink / raw) To: linux-sound; +Cc: tiwai, perex, linux-kernel, antti The SOF driver fails to initialize on the Lenovo ThinkPad X1 Yoga Gen 5 with Intel Comet Lake PCH-LP cAVS [8086:02c8]. Add a DMI quirk to force legacy HDA driver selection for this device. Link: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1120554 Link: https://bugzilla.redhat.com/show_bug.cgi?id=2455066 Signed-off-by: Antti Jalomäki <antti@nevaberry.com> --- sound/hda/core/intel-dsp-config.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/sound/hda/core/intel-dsp-config.c b/sound/hda/core/intel-dsp-config.c index f0a44fd11..179fe4d59 100644 --- a/sound/hda/core/intel-dsp-config.c +++ b/sound/hda/core/intel-dsp-config.c @@ -269,6 +269,21 @@ static const struct config_entry config_table[] = { .device = PCI_DEVICE_ID_INTEL_HDA_CML_LP, .codec_hid = &essx_83x6, }, + { + .flags = 0, + .device = PCI_DEVICE_ID_INTEL_HDA_CML_LP, + .dmi_table = (const struct dmi_system_id []) { + { + .ident = "Lenovo ThinkPad X1 Yoga Gen 5", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_FAMILY, + "ThinkPad X1 Yoga Gen 5"), + }, + }, + {} + } + }, { .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC_OR_SOUNDWIRE, .device = PCI_DEVICE_ID_INTEL_HDA_CML_LP, base-commit: 9f2a23bd5d30dc0968e56a2b6e5edb58aff1bc6d -- 2.53.0 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] ALSA: hda: intel-dsp-config: Force legacy HDA on Lenovo ThinkPad X1 Yoga Gen 5 2026-04-04 14:47 [PATCH] ALSA: hda: intel-dsp-config: Force legacy HDA on Lenovo ThinkPad X1 Yoga Gen 5 Antti Jalomäki @ 2026-04-04 15:21 ` Takashi Iwai 2026-04-04 15:46 ` Antti Jalomäki 0 siblings, 1 reply; 5+ messages in thread From: Takashi Iwai @ 2026-04-04 15:21 UTC (permalink / raw) To: Antti Jalomäki; +Cc: linux-sound, tiwai, perex, linux-kernel On Sat, 04 Apr 2026 16:47:43 +0200, Antti Jalomäki wrote: > > The SOF driver fails to initialize on the Lenovo ThinkPad X1 Yoga Gen 5 > with Intel Comet Lake PCH-LP cAVS [8086:02c8]. Add a DMI quirk to force > legacy HDA driver selection for this device. > > Link: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1120554 > Link: https://bugzilla.redhat.com/show_bug.cgi?id=2455066 > Signed-off-by: Antti Jalomäki <antti@nevaberry.com> Have you tested with the latest kernel together with the latest SOF-firmware? Just to be sure, as your reports above didn't indicate it, and .... > --- > sound/hda/core/intel-dsp-config.c | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/sound/hda/core/intel-dsp-config.c b/sound/hda/core/intel-dsp-config.c > index f0a44fd11..179fe4d59 100644 > --- a/sound/hda/core/intel-dsp-config.c > +++ b/sound/hda/core/intel-dsp-config.c > @@ -269,6 +269,21 @@ static const struct config_entry config_table[] = { > .device = PCI_DEVICE_ID_INTEL_HDA_CML_LP, > .codec_hid = &essx_83x6, > }, > + { > + .flags = 0, ... there is no other quirk entries setting like this. It already looks very special, and such a case is often due to other problems. thanks, Takashi > + .device = PCI_DEVICE_ID_INTEL_HDA_CML_LP, > + .dmi_table = (const struct dmi_system_id []) { > + { > + .ident = "Lenovo ThinkPad X1 Yoga Gen 5", > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), > + DMI_MATCH(DMI_PRODUCT_FAMILY, > + "ThinkPad X1 Yoga Gen 5"), > + }, > + }, > + {} > + } > + }, > { > .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC_OR_SOUNDWIRE, > .device = PCI_DEVICE_ID_INTEL_HDA_CML_LP, > > base-commit: 9f2a23bd5d30dc0968e56a2b6e5edb58aff1bc6d > -- > 2.53.0 > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] ALSA: hda: intel-dsp-config: Force legacy HDA on Lenovo ThinkPad X1 Yoga Gen 5 2026-04-04 15:21 ` Takashi Iwai @ 2026-04-04 15:46 ` Antti Jalomäki 2026-04-04 15:52 ` Takashi Iwai 0 siblings, 1 reply; 5+ messages in thread From: Antti Jalomäki @ 2026-04-04 15:46 UTC (permalink / raw) To: Takashi Iwai; +Cc: Antti Jalomäki, linux-sound, tiwai, perex, linux-kernel Hi Takashi, Thank you for the review. I re-tested without the workaround on kernel 6.19.10 (Fedora 43) with the latest SOF firmware available (alsa-sof-firmware 2025.12.2, firmware version 2:2:0-57864, ABI 3:22:1). The SOF driver detects 4 DMICs in NHLT tables and attempts to load, but fails with a CSE IPC timeout. Full dmesg: sof-audio-pci-intel-cnl 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver sof-audio-pci-intel-cnl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040380 sof-audio-pci-intel-cnl 0000:00:1f.3: hda codecs found, mask 5 sof-audio-pci-intel-cnl 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now sof-audio-pci-intel-cnl 0000:00:1f.3: DMICs detected in NHLT tables: 4 sof-audio-pci-intel-cnl 0000:00:1f.3: Firmware file: intel/sof/sof-cml.ri sof-audio-pci-intel-cnl 0000:00:1f.3: Topology file: intel/sof-tplg/sof-hda-generic-4ch.tplg sof-audio-pci-intel-cnl 0000:00:1f.3: Firmware info: version 2:2:0-57864 sof-audio-pci-intel-cnl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:1 sof-audio-pci-intel-cnl 0000:00:1f.3: cl_dsp_init: timeout with rom_status_reg (0x80000) read sof-audio-pci-intel-cnl 0000:00:1f.3: Boot iteration failed: 3/3 sof-audio-pci-intel-cnl 0000:00:1f.3: 0x06000021: module: ROM, state: CSE_IPC_RESET_PHASE_1, waiting for: CSE_CSR, running sof-audio-pci-intel-cnl 0000:00:1f.3: extended rom status: 0x6000021 0x0 0x0 0x0 0x0 0x0 0x1811102 0x0 sof-audio-pci-intel-cnl 0000:00:1f.3: error: dsp init failed after 3 attempts with err: -110 sof-audio-pci-intel-cnl 0000:00:1f.3: error: hda_dsp_core_reset_enter: timeout on HDA_DSP_REG_ADSPCS read sof-audio-pci-intel-cnl 0000:00:1f.3: error: dsp core reset failed: core_mask f sof-audio-pci-intel-cnl 0000:00:1f.3: error: sof_probe_work failed err: -110 The DSP gets stuck at CSE_IPC_RESET_PHASE_1, waiting for CSE_CSR. This appears to be a communication failure between the SOF driver and the Intel CSE, not a firmware version issue. With snd_intel_dspcfg.dsp_driver=1, the legacy HDA driver works correctly (ALC285 codec, PCI SSID 17aa:22be). System info: - Lenovo ThinkPad X1 Yoga Gen 5 (20UBCTO1WW) - BIOS: N2WET51W (1.41) - PCI: Intel Comet Lake PCH-LP cAVS [8086:02c8] - Kernel: 6.19.10-200.fc43.x86_64 - SOF firmware: alsa-sof-firmware-2025.12.2 I'm happy to adjust the patch approach if you suggest a better way to handle this. Would using FLAG_SOF_ONLY_IF_DMIC_OR_SOUNDWIRE with a different fallback be preferred over .flags = 0? Best regards, Antti Jalomäki On Sat, Apr 4, 2026 at 6:21 PM Takashi Iwai <tiwai@suse.de> wrote: > > On Sat, 04 Apr 2026 16:47:43 +0200, > Antti Jalomäki wrote: > > > > The SOF driver fails to initialize on the Lenovo ThinkPad X1 Yoga Gen 5 > > with Intel Comet Lake PCH-LP cAVS [8086:02c8]. Add a DMI quirk to force > > legacy HDA driver selection for this device. > > > > Link: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1120554 > > Link: https://bugzilla.redhat.com/show_bug.cgi?id=2455066 > > Signed-off-by: Antti Jalomäki <antti@nevaberry.com> > > Have you tested with the latest kernel together with the latest > SOF-firmware? Just to be sure, as your reports above didn't indicate > it, and .... > > > --- > > sound/hda/core/intel-dsp-config.c | 15 +++++++++++++++ > > 1 file changed, 15 insertions(+) > > > > diff --git a/sound/hda/core/intel-dsp-config.c b/sound/hda/core/intel-dsp-config.c > > index f0a44fd11..179fe4d59 100644 > > --- a/sound/hda/core/intel-dsp-config.c > > +++ b/sound/hda/core/intel-dsp-config.c > > @@ -269,6 +269,21 @@ static const struct config_entry config_table[] = { > > .device = PCI_DEVICE_ID_INTEL_HDA_CML_LP, > > .codec_hid = &essx_83x6, > > }, > > + { > > + .flags = 0, > > ... there is no other quirk entries setting like this. It already > looks very special, and such a case is often due to other problems. > > > thanks, > > Takashi > > > + .device = PCI_DEVICE_ID_INTEL_HDA_CML_LP, > > + .dmi_table = (const struct dmi_system_id []) { > > + { > > + .ident = "Lenovo ThinkPad X1 Yoga Gen 5", > > + .matches = { > > + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), > > + DMI_MATCH(DMI_PRODUCT_FAMILY, > > + "ThinkPad X1 Yoga Gen 5"), > > + }, > > + }, > > + {} > > + } > > + }, > > { > > .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC_OR_SOUNDWIRE, > > .device = PCI_DEVICE_ID_INTEL_HDA_CML_LP, > > > > base-commit: 9f2a23bd5d30dc0968e56a2b6e5edb58aff1bc6d > > -- > > 2.53.0 > > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] ALSA: hda: intel-dsp-config: Force legacy HDA on Lenovo ThinkPad X1 Yoga Gen 5 2026-04-04 15:46 ` Antti Jalomäki @ 2026-04-04 15:52 ` Takashi Iwai 2026-04-07 8:59 ` Kai Vehmanen 0 siblings, 1 reply; 5+ messages in thread From: Takashi Iwai @ 2026-04-04 15:52 UTC (permalink / raw) To: Antti Jalomäki Cc: Takashi Iwai, linux-sound, tiwai, perex, linux-kernel, Peter Ujfalusi, Bard Liao, Ranjani Sridharan, Kai Vehmanen On Sat, 04 Apr 2026 17:46:08 +0200, Antti Jalomäki wrote: > > Hi Takashi, > > Thank you for the review. I re-tested without the workaround on kernel > 6.19.10 (Fedora 43) with the latest SOF firmware available > (alsa-sof-firmware 2025.12.2, firmware > version 2:2:0-57864, ABI 3:22:1). > > The SOF driver detects 4 DMICs in NHLT tables and attempts to load, > but fails with a CSE IPC timeout. Full dmesg: > > sof-audio-pci-intel-cnl 0000:00:1f.3: Digital mics found on Skylake+ > platform, using SOF driver > sof-audio-pci-intel-cnl 0000:00:1f.3: DSP detected with PCI > class/subclass/prog-if 0x040380 > sof-audio-pci-intel-cnl 0000:00:1f.3: hda codecs found, mask 5 > sof-audio-pci-intel-cnl 0000:00:1f.3: using HDA machine driver > skl_hda_dsp_generic now > sof-audio-pci-intel-cnl 0000:00:1f.3: DMICs detected in NHLT tables: 4 > sof-audio-pci-intel-cnl 0000:00:1f.3: Firmware file: intel/sof/sof-cml.ri > sof-audio-pci-intel-cnl 0000:00:1f.3: Topology file: > intel/sof-tplg/sof-hda-generic-4ch.tplg > sof-audio-pci-intel-cnl 0000:00:1f.3: Firmware info: version 2:2:0-57864 > sof-audio-pci-intel-cnl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:23:1 > sof-audio-pci-intel-cnl 0000:00:1f.3: cl_dsp_init: timeout with > rom_status_reg (0x80000) read > sof-audio-pci-intel-cnl 0000:00:1f.3: Boot iteration failed: 3/3 > sof-audio-pci-intel-cnl 0000:00:1f.3: 0x06000021: module: ROM, state: > CSE_IPC_RESET_PHASE_1, waiting for: CSE_CSR, running > sof-audio-pci-intel-cnl 0000:00:1f.3: extended rom status: 0x6000021 > 0x0 0x0 0x0 0x0 0x0 0x1811102 0x0 > sof-audio-pci-intel-cnl 0000:00:1f.3: error: dsp init failed after 3 > attempts with err: -110 > sof-audio-pci-intel-cnl 0000:00:1f.3: error: hda_dsp_core_reset_enter: > timeout on HDA_DSP_REG_ADSPCS read > sof-audio-pci-intel-cnl 0000:00:1f.3: error: dsp core reset failed: core_mask f > sof-audio-pci-intel-cnl 0000:00:1f.3: error: sof_probe_work failed err: -110 > > The DSP gets stuck at CSE_IPC_RESET_PHASE_1, waiting for CSE_CSR. This > appears to be a communication failure between the SOF driver and the > Intel CSE, not a firmware > version issue. > > With snd_intel_dspcfg.dsp_driver=1, the legacy HDA driver works > correctly (ALC285 codec, PCI SSID 17aa:22be). > > System info: > - Lenovo ThinkPad X1 Yoga Gen 5 (20UBCTO1WW) > - BIOS: N2WET51W (1.41) > - PCI: Intel Comet Lake PCH-LP cAVS [8086:02c8] > - Kernel: 6.19.10-200.fc43.x86_64 > - SOF firmware: alsa-sof-firmware-2025.12.2 > > I'm happy to adjust the patch approach if you suggest a better way to > handle this. Would using FLAG_SOF_ONLY_IF_DMIC_OR_SOUNDWIRE with a > different fallback be preferred > over .flags = 0? Let Intel folks check the error above at first (added a few to Cc). If it's really a device that shouldn't be dealt with SOF, we can add a quirk entry. thanks, Takashi > > Best regards, > Antti Jalomäki > > On Sat, Apr 4, 2026 at 6:21 PM Takashi Iwai <tiwai@suse.de> wrote: > > > > On Sat, 04 Apr 2026 16:47:43 +0200, > > Antti Jalomäki wrote: > > > > > > The SOF driver fails to initialize on the Lenovo ThinkPad X1 Yoga Gen 5 > > > with Intel Comet Lake PCH-LP cAVS [8086:02c8]. Add a DMI quirk to force > > > legacy HDA driver selection for this device. > > > > > > Link: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1120554 > > > Link: https://bugzilla.redhat.com/show_bug.cgi?id=2455066 > > > Signed-off-by: Antti Jalomäki <antti@nevaberry.com> > > > > Have you tested with the latest kernel together with the latest > > SOF-firmware? Just to be sure, as your reports above didn't indicate > > it, and .... > > > > > --- > > > sound/hda/core/intel-dsp-config.c | 15 +++++++++++++++ > > > 1 file changed, 15 insertions(+) > > > > > > diff --git a/sound/hda/core/intel-dsp-config.c b/sound/hda/core/intel-dsp-config.c > > > index f0a44fd11..179fe4d59 100644 > > > --- a/sound/hda/core/intel-dsp-config.c > > > +++ b/sound/hda/core/intel-dsp-config.c > > > @@ -269,6 +269,21 @@ static const struct config_entry config_table[] = { > > > .device = PCI_DEVICE_ID_INTEL_HDA_CML_LP, > > > .codec_hid = &essx_83x6, > > > }, > > > + { > > > + .flags = 0, > > > > ... there is no other quirk entries setting like this. It already > > looks very special, and such a case is often due to other problems. > > > > > > thanks, > > > > Takashi > > > > > + .device = PCI_DEVICE_ID_INTEL_HDA_CML_LP, > > > + .dmi_table = (const struct dmi_system_id []) { > > > + { > > > + .ident = "Lenovo ThinkPad X1 Yoga Gen 5", > > > + .matches = { > > > + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), > > > + DMI_MATCH(DMI_PRODUCT_FAMILY, > > > + "ThinkPad X1 Yoga Gen 5"), > > > + }, > > > + }, > > > + {} > > > + } > > > + }, > > > { > > > .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC_OR_SOUNDWIRE, > > > .device = PCI_DEVICE_ID_INTEL_HDA_CML_LP, > > > > > > base-commit: 9f2a23bd5d30dc0968e56a2b6e5edb58aff1bc6d > > > -- > > > 2.53.0 > > > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] ALSA: hda: intel-dsp-config: Force legacy HDA on Lenovo ThinkPad X1 Yoga Gen 5 2026-04-04 15:52 ` Takashi Iwai @ 2026-04-07 8:59 ` Kai Vehmanen 0 siblings, 0 replies; 5+ messages in thread From: Kai Vehmanen @ 2026-04-07 8:59 UTC (permalink / raw) To: Takashi Iwai Cc: Antti Jalomäki, linux-sound, tiwai, perex, linux-kernel, Peter Ujfalusi, Bard Liao, Ranjani Sridharan, Kai Vehmanen [-- Attachment #1: Type: text/plain, Size: 1338 bytes --] Hello Takashi and Antti, On Sat, 4 Apr 2026, Takashi Iwai wrote: > On Sat, 04 Apr 2026 17:46:08 +0200, Antti Jalomäki wrote: >> Thank you for the review. I re-tested without the workaround on kernel >> 6.19.10 (Fedora 43) with the latest SOF firmware available >> (alsa-sof-firmware 2025.12.2, firmware >> version 2:2:0-57864, ABI 3:22:1). >> The SOF driver detects 4 DMICs in NHLT tables and attempts to load, >> but fails with a CSE IPC timeout. Full dmesg: [...] > > sof-audio-pci-intel-cnl 0000:00:1f.3: Boot iteration failed: 3/3 > > sof-audio-pci-intel-cnl 0000:00:1f.3: 0x06000021: module: ROM, state: > > CSE_IPC_RESET_PHASE_1, waiting for: CSE_CSR, running > > sof-audio-pci-intel-cnl 0000:00:1f.3: extended rom status: 0x6000021 > > 0x0 0x0 0x0 0x0 0x0 0x1811102 0x0 > > Let Intel folks check the error above at first (added a few to Cc). > If it's really a device that shouldn't be dealt with SOF, we can add a > quirk entry. this is typically a BIOS issue (Intel Management Engine not enabled in BIOS, or specific BIOS version has an issue). Re-enabling the ME in BIOS has often solved the issue (and sometimes a FW update is needed). The DMI-based blacklisting is a bit iffy as this device does have digital mics attached to the PCH, and with this patch, those microphones are then disabled for all users. Br, Kai ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-04-07 9:00 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2026-04-04 14:47 [PATCH] ALSA: hda: intel-dsp-config: Force legacy HDA on Lenovo ThinkPad X1 Yoga Gen 5 Antti Jalomäki 2026-04-04 15:21 ` Takashi Iwai 2026-04-04 15:46 ` Antti Jalomäki 2026-04-04 15:52 ` Takashi Iwai 2026-04-07 8:59 ` Kai Vehmanen
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox