[alsa-devel] [PATCH 0/6] ALSA/HDA: abort probe when DMICs are detected
Pierre-Louis Bossart
pierre-louis.bossart at linux.intel.com
Fri Jul 19 19:06:04 CEST 2019
This is the second take on same problem of detecting when the HDaudio
legacy driver can be used and when the SST or SOF drivers are
required.
The previous attempt based on a the PCI Class information was a
resounding failure and broke audio on Linus' laptop, so we need
additional information to avoid enabling a DSP-based driver without a
good reason to do so.
This patchset suggests the use of the NHLT information which *in
theory* exposes DMIC endpoints. The legacy HDaudio driver cannot
handle DMICs and will not provide any capture capabilities. Since it's
typically the first one to probe due to the Makefile order, aborting
the probe will let the PCI subsystem look for the next driver which
hopefully will support this capability.
I tested this patch on 5 devices (SKL, KBL, APL, GLK, WHL), three
without DMICs and two with, and the detection seems to work as
planned. Additional testing by Canonical and Endless folks did not
expose any issues.
Changes since RFC:
Cosmetic code improvements
Moved intel-nhlt.h to include/sound
Moved intel-nhlt.c to sound/hda
Removed SOC prefixes
Added full-support for vendor-defined geometries
Added Kconfig and kernel module parameter to opt-in
Pierre-Louis Bossart (6):
ASoC: Intel: Skylake: move NHLT header to common directory
ALSA: hda: move parts of NHLT code to new module
ALSA: hda: intel-nhlt: remove useless OR operation
ALSA: hda: intel-nhlt: handle NHLT VENDOR_DEFINED DMIC geometry
ASoC: Intel: Skylake: use common NHLT module
ALSA: hda/intel: stop probe if DMICS are detected on Skylake+
platforms
.../skl-nhlt.h => include/sound/intel-nhlt.h | 51 +++++++--
sound/hda/Kconfig | 3 +
sound/hda/Makefile | 3 +
sound/hda/intel-nhlt.c | 102 ++++++++++++++++++
sound/pci/hda/Kconfig | 10 ++
sound/pci/hda/hda_intel.c | 34 ++++++
sound/soc/intel/Kconfig | 1 +
sound/soc/intel/skylake/skl-nhlt.c | 91 +---------------
sound/soc/intel/skylake/skl-ssp-clk.c | 1 +
sound/soc/intel/skylake/skl-topology.c | 1 +
sound/soc/intel/skylake/skl.c | 12 ++-
sound/soc/intel/skylake/skl.h | 4 -
12 files changed, 205 insertions(+), 108 deletions(-)
rename sound/soc/intel/skylake/skl-nhlt.h => include/sound/intel-nhlt.h (65%)
create mode 100644 sound/hda/intel-nhlt.c
--
2.20.1
More information about the Alsa-devel
mailing list