linux-stable/sound/hda
Pierre-Louis Bossart 9a20e5782d ALSA: hda: intel-nhlt: verify config type
[ Upstream commit a864e8f159 ]

Multiple bug reports report issues with the SOF and SST drivers when
dealing with single microphone cases.

We currently read the DMIC array information unconditionally but we
don't check that the configuration type is actually a mic array.

When the DMIC link does not rely on a mic array configuration, the
recommendation is to check the format information to infer the maximum
number of channels, and map this to the number of microphones.

This leaves a potential for a mismatch between actual microphones
available in hardware and what the ACPI table contains, but we have no
other source of information.

Note that single microphone configurations can alternatively be
handled with a 'mic array' configuration along with a 'vendor-defined'
geometry.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=201251
BugLink: https://github.com/thesofproject/linux/issues/2725
Fixes: 7a33ea70e1 ('ALSA: hda: intel-nhlt: handle NHLT VENDOR_DEFINED DMIC geometry')
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20210302000146.1177770-1-pierre-louis.bossart@linux.intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-03-09 11:09:39 +01:00
..
ext ALSA: hda: prevent undefined shift in snd_hdac_ext_bus_get_link() 2020-11-18 19:20:18 +01:00
array.c
hda_bus_type.c
hdac_bus.c ALSA: hda: Fix potential race in unsol event handler 2020-10-01 13:18:00 +02:00
hdac_component.c
hdac_controller.c Revert "ALSA: hda: Flush interrupts on disabling" 2019-10-28 11:47:59 +01:00
hdac_device.c ALSA: hda: fix a runtime pm issue in SOF when integrated GPU is disabled 2020-09-17 13:47:49 +02:00
hdac_i915.c
hdac_regmap.c ALSA: hda: enable regmap internal locking 2020-10-01 13:17:24 +02:00
hdac_stream.c ALSA: hda: Fix regression by strip mask fix 2019-12-21 11:05:23 +01:00
hdac_sysfs.c
hdmi_chmap.c ALSA: hda: Use scnprintf() for printing texts for sysfs/procfs 2020-02-28 17:22:12 +01:00
intel-nhlt.c ALSA: hda: intel-nhlt: verify config type 2021-03-09 11:09:39 +01:00
Kconfig
local.h
Makefile
trace.c
trace.h