Jaroslav, I found a case where the logic doesn't seem to work as
intended.
the code currently scans through the table looking for a PCI ID match,
and a DMI match for quirks.
On a KBL NUC device with the DSP enabled, we go through the entire list
without finding a match, which means we return the _ANY flag. so if we
try to probe the snd-soc-skl driver, the checks will allow the driver to
continue, despite this configuration not being supported.
It was my understanding that we would always load the legacy driver
*unless* there is a match in the table? If yes, there we can change the
default this way:
@@ -333,7 +355,7 @@ 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 SND_INTEL_DSP_DRIVER_LEGACY;
Or we need to add a case where we force the legacy in the table for each
platform.
I would prefer to add another entry to the configuration table without
.flags (or .flags = 0) with a comment, why the legacy driver is selected
by default even if the DSP is present.
Ah yes, flags == 0 would mean legacy indeed. Will send a patch, thanks
for the idea.
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel