ALSA: hda/intel: stop probe if DMICS are detected on Skylake+ platforms
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Mon, 29 Jul 2019 15:51:51 +0000 (10:51 -0500)
committerTakashi Iwai <tiwai@suse.de>
Wed, 31 Jul 2019 13:46:02 +0000 (15:46 +0200)
commit8c57588313805d4e12a3d470dee3405c2236655f
tree7430de901d9b194b18cd61fcb62801bf2fef7414
parent1169cbf6b98e11397715d457e42070e066325fc0
ALSA: hda/intel: stop probe if DMICS are detected on Skylake+ platforms

The legacy HD-Audio driver cannot handle Skylake+ platforms with
digital microphones. For those platforms, the SOF or SST drivers need
to be used.

This patch provides an automatic way of detecting the presence of
DMICs using NHTL information reported by the BIOS. A kernel kconfig
option or a kernel module parameter provide an opt-in means of
stopping the probe. The kernel would then look for an alternate driver
registered for the same PCI ID to probe.

With this capability, distros no longer have to blacklist
snd-hda-intel, but still need to make sure the SOF/SST drivers are
functional by providing the relevant firmware and topology files in
/lib/firmware/intel

The coexistence between SOF and SST drivers and their dynamic
detection is not addressed by this patch, different mechanisms need to
be used, e.g. DMI-based quirks.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/Kconfig
sound/pci/hda/hda_intel.c