From: Takashi Iwai <tiwai@suse.de>
To: Askar Safin <safinaskar@gmail.com>
Cc: Dell.Client.Kernel@dell.com, amadeuszx.slawinski@linux.intel.com,
baojun.xu@ti.com, bo.liu@senarytech.com,
cezary.rojewski@intel.com, kai.vehmanen@linux.intel.com,
kailang@realtek.com, linux-sound@vger.kernel.org,
patches@opensource.cirrus.com, regressions@lists.linux.dev,
rf@opensource.cirrus.com, "Nicolas Schier" <nsc@kernel.org>,
linux-kbuild@vger.kernel.org,
"Masahiro Yamada" <masahiroy@kernel.org>,
"Nathan Chancellor" <nathan@kernel.org>,
miguel.ojeda.sandonis@gmail.com, ojeda@kernel.org,
sam@gentoo.org,
"Thomas Weißschuh" <thomas.weissschuh@linutronix.de>,
"Daniel Xu" <dxu@dxuuu.xyz>
Subject: Re: [REGRESSION][BISECTED] My audio broke (was: [PATCH 05/27] ALSA: hda: Move controller drivers into sound/hda/controllers directory)
Date: Tue, 09 Dec 2025 10:27:03 +0100 [thread overview]
Message-ID: <87y0ncrons.wl-tiwai@suse.de> (raw)
In-Reply-To: <875xagt7d1.wl-tiwai@suse.de>
On Tue, 09 Dec 2025 08:57:46 +0100,
Takashi Iwai wrote:
>
> On Sat, 06 Dec 2025 22:39:52 +0100,
> Askar Safin wrote:
> >
> > On Wed, Dec 3, 2025 at 12:42 PM Takashi Iwai <tiwai@suse.de> wrote:
> > > A rather hackish fix would be something like below. Instead of
> >
> > I tested. This patch works. Thank you!
> > Tested-by: Askar Safin <safinaskar@gmail.com>
>
> Thanks for testing!
>
> On the second thought, a better fix would be just to change the
> default fallback from ANY to LEGACY, so a oneliner change like below.
> Could you test it instead of the previous one?
>
> It was set to ANY as we assumed that all drivers should cover the
> devices generally, but in the end, SOF or AVS need specific firmware
> files, hence it doesn't make sense to bind to them if specific kconfig
> is enabled.
The below one is a revised fix, just to be safer in case the legacy
driver is disabled, too. Give it a try.
Takashi
-- 8< --
From: Takashi Iwai <tiwai@suse.de>
Subject: [PATCH] ALSA: hda: intel-dsp-config: Prefer legacy driver as fallback
When config table entries don't match with the device to be probed,
currently we fall back to SND_INTEL_DSP_DRIVER_ANY, which means to
allow any drivers to bind with it.
This was set so with the assumption (or hope) that all controller
drivers should cover the devices generally, but in practice, this
caused a problem as reported recently. Namely, when a specific
kconfig for SOF isn't set for the modern Intel chips like Alderlake,
a wrong driver (AVS) got probed and failed. This is because we have
entries like:
/* Alder Lake / Raptor Lake */
{
.flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC_OR_SOUNDWIRE,
.device = PCI_DEVICE_ID_INTEL_HDA_ADL_S,
},
....
so this entry is effective only when CONFIG_SND_SOC_SOF_ALDERLAKE is
set. If not set, there is no matching entry, hence it returns
SND_INTEL_DSP_DRIVER_ANY as fallback. OTOH, if the kconfig is set, it
explicitly falls back to SND_INTEL_DSP_DRIVER_LEGACY when no DMIC or
SoundWire is found -- that was the working scenario. That being said,
the current setup may be broken for modern Intel chips that are
supposed to work with either SOF or legacy driver when the
corresponding kconfig were missing.
For addressing the problem above, this patch changes the fallback
driver to the legacy driver as much as possible, i.e. return
SND_INTEL_DSP_DRIVER_LEGACY type. When CONFIG_SND_HDA_INTEL is also
off, the fallback is set to SND_INTEL_DSP_DRIVER_ANY type, just to be
sure.
Link: https://lore.kernel.org/all/20251014034156.4480-1-safinaskar@gmail.com/
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
sound/hda/core/intel-dsp-config.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/sound/hda/core/intel-dsp-config.c b/sound/hda/core/intel-dsp-config.c
index c401c0658421..0c25e87408de 100644
--- a/sound/hda/core/intel-dsp-config.c
+++ b/sound/hda/core/intel-dsp-config.c
@@ -718,7 +718,8 @@ int snd_intel_dsp_driver_probe(struct pci_dev *pci)
/* find the configuration for the specific device */
cfg = snd_intel_dsp_find_config(pci, config_table, ARRAY_SIZE(config_table));
if (!cfg)
- return SND_INTEL_DSP_DRIVER_ANY;
+ return IS_ENABLED(CONFIG_SND_HDA_INTEL) ?
+ SND_INTEL_DSP_DRIVER_LEGACY : SND_INTEL_DSP_DRIVER_ANY;
if (cfg->flags & FLAG_SOF) {
if (cfg->flags & FLAG_SOF_ONLY_IF_SOUNDWIRE &&
--
2.52.0
next prev parent reply other threads:[~2025-12-09 9:27 UTC|newest]
Thread overview: 78+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-09 16:04 [PATCH 00/27] ALSA: Reorganize HD-audio driver code Takashi Iwai
2025-07-09 16:04 ` [PATCH 01/27] ALSA: hda: Move widget capability macros into hdaudio.h Takashi Iwai
2025-07-14 8:40 ` Cezary Rojewski
2025-07-09 16:04 ` [PATCH 02/27] ALSA: hda: Move HD-audio core stuff into sound/hda/core Takashi Iwai
2025-07-14 8:41 ` Cezary Rojewski
2025-07-09 16:04 ` [PATCH 03/27] ALSA: hda: Move common codec driver into sound/hda/common directory Takashi Iwai
2025-07-09 16:04 ` [PATCH 04/27] ALSA: hda: Move CONFIG_SND_HDA_PREALLOC_SIZE into sound/hda/common Takashi Iwai
2025-07-09 16:04 ` [PATCH 05/27] ALSA: hda: Move controller drivers into sound/hda/controllers directory Takashi Iwai
2025-10-14 3:41 ` [REGRESSION][BISECTED] My audio broke (was: [PATCH 05/27] ALSA: hda: Move controller drivers into sound/hda/controllers directory) Askar Safin
2025-10-14 6:04 ` Takashi Iwai
2025-10-15 4:37 ` Askar Safin
2025-10-15 5:51 ` Takashi Iwai
2025-10-15 6:49 ` Askar Safin
2025-10-15 7:47 ` Takashi Iwai
2025-10-15 11:44 ` Askar Safin
2025-10-15 12:05 ` Takashi Iwai
2025-10-15 14:57 ` Askar Safin
2025-10-15 15:18 ` Takashi Iwai
2025-10-15 15:45 ` Askar Safin
2025-10-15 15:54 ` Takashi Iwai
2025-10-16 2:37 ` Askar Safin
2025-10-16 4:50 ` Askar Safin
2025-10-16 6:03 ` Askar Safin
2025-10-16 9:52 ` Takashi Iwai
2025-10-28 12:05 ` Takashi Iwai
2025-10-28 13:03 ` Askar Safin
2025-10-29 12:23 ` Askar Safin
2025-12-02 19:21 ` Askar Safin
2025-12-03 9:42 ` Takashi Iwai
2025-12-06 21:39 ` Askar Safin
2025-12-09 7:57 ` Takashi Iwai
2025-12-09 9:27 ` Takashi Iwai [this message]
2025-12-10 1:45 ` Askar Safin
2025-12-10 13:00 ` Takashi Iwai
2025-12-10 13:55 ` Thorsten Leemhuis
2025-12-11 18:11 ` Askar Safin
2025-10-15 15:02 ` Askar Safin
2025-10-15 5:01 ` Askar Safin
2025-07-09 16:04 ` [PATCH 06/27] ALSA: hda: Move codec drivers into sound/hda/codecs directory Takashi Iwai
2025-07-10 10:05 ` Richard Fitzgerald
2025-07-14 8:57 ` Cezary Rojewski
2025-07-14 9:04 ` Takashi Iwai
2025-07-14 9:08 ` Cezary Rojewski
2025-07-14 9:15 ` Takashi Iwai
2025-07-14 9:35 ` Cezary Rojewski
2025-07-14 10:17 ` Takashi Iwai
2025-07-09 16:04 ` [PATCH 07/27] ALSA: hda: Split Realtek HD-audio codec driver Takashi Iwai
2025-07-14 9:02 ` Cezary Rojewski
2025-07-09 16:04 ` [PATCH 08/27] ALSA: hda/hdmi: Split vendor codec drivers Takashi Iwai
2025-07-09 16:04 ` [PATCH 09/27] ALSA: hda: Introduce hda_codec_driver ops Takashi Iwai
2025-07-09 16:04 ` [PATCH 10/27] ALSA: hda/generic: Rewrite to new probe method Takashi Iwai
2025-07-09 16:04 ` [PATCH 11/27] ALSA: hda/realtek: " Takashi Iwai
2025-07-31 3:20 ` ALC887-VD line-in not visible Arthur Marsh
2025-07-31 5:33 ` Takashi Iwai
2025-07-31 12:32 ` Arthur Marsh
2025-07-31 12:37 ` Takashi Iwai
2025-07-31 13:01 ` Arthur Marsh
2025-07-09 16:04 ` [PATCH 12/27] ALSA: hda/cmedia: Rewrite to new probe method Takashi Iwai
2025-07-09 16:04 ` [PATCH 13/27] ALSA: hda/analog: " Takashi Iwai
2025-07-09 16:04 ` [PATCH 14/27] ALSA: hda/ca0110: " Takashi Iwai
2025-07-09 16:04 ` [PATCH 15/27] ALSA: hda/cirrus: Split to cs420x and cs421x drivers Takashi Iwai
2025-07-09 16:04 ` [PATCH 16/27] ALSA: hda/cs8409: Rewrite to new probe method Takashi Iwai
2025-07-10 10:25 ` Richard Fitzgerald
2025-07-09 16:04 ` [PATCH 17/27] ALSA: hda/conexant: " Takashi Iwai
2025-07-09 16:04 ` [PATCH 18/27] ALSA: hda/senary: " Takashi Iwai
2025-07-09 16:04 ` [PATCH 19/27] ALSA: hda/si3054: " Takashi Iwai
2025-07-09 16:04 ` [PATCH 20/27] ALSA: hda/via: " Takashi Iwai
2025-07-09 16:04 ` [PATCH 21/27] ALSA: hda/sigmatel: " Takashi Iwai
2025-07-09 16:04 ` [PATCH 22/27] ALSA: hda/ca0132: " Takashi Iwai
2025-07-09 16:04 ` [PATCH 23/27] ALSA: hda/hdmi: " Takashi Iwai
2025-08-17 10:55 ` Mikhail Paulyshka
2025-08-18 7:18 ` Takashi Iwai
2025-07-09 16:04 ` [PATCH 24/27] ALSA: hda: Drop old codec binding method Takashi Iwai
2025-07-09 16:04 ` [PATCH 25/27] ALSA: hda: Drop superfluous driver->ops NULL checks Takashi Iwai
2025-07-09 16:04 ` [PATCH 26/27] MAINTAINERS: Adjust to the new HD-audio driver paths Takashi Iwai
2025-07-10 10:30 ` Richard Fitzgerald
2025-07-09 16:04 ` [PATCH 27/27] ALSA: hda: Return the codec init error properly at snd_hda_codec_build_controls() Takashi Iwai
2025-07-11 12:55 ` [PATCH 00/27] ALSA: Reorganize HD-audio driver code Takashi Iwai
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=87y0ncrons.wl-tiwai@suse.de \
--to=tiwai@suse.de \
--cc=Dell.Client.Kernel@dell.com \
--cc=amadeuszx.slawinski@linux.intel.com \
--cc=baojun.xu@ti.com \
--cc=bo.liu@senarytech.com \
--cc=cezary.rojewski@intel.com \
--cc=dxu@dxuuu.xyz \
--cc=kai.vehmanen@linux.intel.com \
--cc=kailang@realtek.com \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=masahiroy@kernel.org \
--cc=miguel.ojeda.sandonis@gmail.com \
--cc=nathan@kernel.org \
--cc=nsc@kernel.org \
--cc=ojeda@kernel.org \
--cc=patches@opensource.cirrus.com \
--cc=regressions@lists.linux.dev \
--cc=rf@opensource.cirrus.com \
--cc=safinaskar@gmail.com \
--cc=sam@gentoo.org \
--cc=thomas.weissschuh@linutronix.de \
/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