* [PATCH] ALSA: hda: Avoid binding with SOF for SKL/KBL platforms
@ 2025-08-28 14:11 Takashi Iwai
2025-08-28 14:32 ` Cezary Rojewski
0 siblings, 1 reply; 2+ messages in thread
From: Takashi Iwai @ 2025-08-28 14:11 UTC (permalink / raw)
To: linux-sound; +Cc: Cezary Rojewski, Amadeusz Sławiński
For Intel SKL and KBL platforms, it may be bound with one of three
HD-audio drivers (AVS, SOF and legacy). AVS is the preferred one when
DMIC is detected, and that's how it's defined in the snd-intel-dspcfg
config table.
But, when AVS driver is disabled (CONFIG_SND_SOC_INTEL_AVS=n), the
device may be bound freely with either SOF or legacy driver.
Before 6.17, the legacy driver took it primarily, but on 6.17, likely
due to the recent code shuffling, SOF driver seems taking it at first,
and fails to probe. For avoiding the regression, we should enforce to
bind those with the legacy HD-audio drvier when AVS is disabled.
This patch adds the extra two entries in intel-dspcfg table that are
applied only when CONFIG_SND_SOC_INTEL_AVS=n, for binding with the
legacy driver.
Note that there are entries for APL in that config table block, but
APL may be supported by SOF for certain setups, so the choice can't be
exclusive. Hence this patch includes only SKL and KBL.
Link: https://bugzilla.suse.com/show_bug.cgi?id=1248121
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
sound/hda/core/intel-dsp-config.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/sound/hda/core/intel-dsp-config.c b/sound/hda/core/intel-dsp-config.c
index 00f184917623..c15284742899 100644
--- a/sound/hda/core/intel-dsp-config.c
+++ b/sound/hda/core/intel-dsp-config.c
@@ -116,6 +116,13 @@ static const struct config_entry config_table[] = {
.flags = FLAG_SST,
.device = PCI_DEVICE_ID_INTEL_HDA_FCL,
},
+#else /* AVS disabled; force to legacy as SOF doesn't work for SKL or KBL */
+ {
+ .device = PCI_DEVICE_ID_INTEL_HDA_SKL_LP,
+ },
+ {
+ .device = PCI_DEVICE_ID_INTEL_HDA_KBL_LP,
+ },
#endif
#if IS_ENABLED(CONFIG_SND_SOC_SOF_APOLLOLAKE)
{
--
2.50.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] ALSA: hda: Avoid binding with SOF for SKL/KBL platforms
2025-08-28 14:11 [PATCH] ALSA: hda: Avoid binding with SOF for SKL/KBL platforms Takashi Iwai
@ 2025-08-28 14:32 ` Cezary Rojewski
0 siblings, 0 replies; 2+ messages in thread
From: Cezary Rojewski @ 2025-08-28 14:32 UTC (permalink / raw)
To: Takashi Iwai; +Cc: Amadeusz Sławiński, linux-sound@vger.kernel.org
On 2025-08-28 4:11 PM, Takashi Iwai wrote:
> For Intel SKL and KBL platforms, it may be bound with one of three
> HD-audio drivers (AVS, SOF and legacy). AVS is the preferred one when
> DMIC is detected, and that's how it's defined in the snd-intel-dspcfg
> config table.
>
> But, when AVS driver is disabled (CONFIG_SND_SOC_INTEL_AVS=n), the
> device may be bound freely with either SOF or legacy driver.
> Before 6.17, the legacy driver took it primarily, but on 6.17, likely
> due to the recent code shuffling, SOF driver seems taking it at first,
> and fails to probe. For avoiding the regression, we should enforce to
> bind those with the legacy HD-audio drvier when AVS is disabled.
>
> This patch adds the extra two entries in intel-dspcfg table that are
> applied only when CONFIG_SND_SOC_INTEL_AVS=n, for binding with the
> legacy driver.
>
> Note that there are entries for APL in that config table block, but
> APL may be supported by SOF for certain setups, so the choice can't be
> exclusive. Hence this patch includes only SKL and KBL.
>
> Link: https://bugzilla.suse.com/show_bug.cgi?id=1248121
> Signed-off-by: Takashi Iwai <tiwai@suse.de>
> ---
> sound/hda/core/intel-dsp-config.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/sound/hda/core/intel-dsp-config.c b/sound/hda/core/intel-dsp-config.c
> index 00f184917623..c15284742899 100644
> --- a/sound/hda/core/intel-dsp-config.c
> +++ b/sound/hda/core/intel-dsp-config.c
> @@ -116,6 +116,13 @@ static const struct config_entry config_table[] = {
> .flags = FLAG_SST,
> .device = PCI_DEVICE_ID_INTEL_HDA_FCL,
> },
> +#else /* AVS disabled; force to legacy as SOF doesn't work for SKL or KBL */
> + {
> + .device = PCI_DEVICE_ID_INTEL_HDA_SKL_LP,
> + },
> + {
> + .device = PCI_DEVICE_ID_INTEL_HDA_KBL_LP,
> + },
> #endif
> #if IS_ENABLED(CONFIG_SND_SOC_SOF_APOLLOLAKE)
> {
Thanks for assistance, Takashi, much appreciated. Given the explanation,
I'm OK with including just SKL/KBL and skipping APL here.
Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-08-28 14:33 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-28 14:11 [PATCH] ALSA: hda: Avoid binding with SOF for SKL/KBL platforms Takashi Iwai
2025-08-28 14:32 ` Cezary Rojewski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).