linux/sound/soc
Peter Ujfalusi 49cb894d56
ASoC: SOF: ipc4-topology: Add support for NHLT with 16-bit only DMIC blob
The ACPI NHLT table always had 32-bit DMIC blob even if 16-bit was also
present and taken as a 'rule' which obviously got broken and there is at
least one device on the market which ships with only 16-bit DMIC
configuration blob.
This corner case has never been supported and it is going to need topology
updates for DMIC copier to support multiple formats.

As for the kernel side: if the copier supports multiple formats and the
preferred 32-bit DMIC blob is not found then we will try to get a 16-bit
DMIC configuration and look for a 16-bit copier config.

Fixes: f9209644ae ("ASoC: SOF: ipc4-topology: Correct DAI copier config and NHLT blob request")
Link: https://github.com/thesofproject/linux/issues/4973
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://msgid.link/r/20240530111918.21974-2-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2024-05-30 12:33:28 +01:00
..
adi ASoC: adi: Use *-y instead of *-objs in Makefile 2024-05-08 11:39:12 +09:00
amd ASoC: Updates for v6.10 2024-05-13 11:39:49 +02:00
apple ASoC: apple: Use *-y instead of *-objs in Makefile 2024-05-08 11:39:14 +09:00
atmel ASoC: Use *-y instead of *-objs in Makefile 2024-05-08 21:02:13 +09:00
au1x ASoC: au1x: Use *-y instead of *-objs Makefile 2024-05-08 11:39:16 +09:00
bcm ASoC: bcm: Use *-y instead of *-objs in Makefile 2024-05-08 11:39:16 +09:00
cirrus ASoC: cirrus: Use *-y instead of *-objs in Makefile 2024-05-08 11:39:17 +09:00
codecs ASoC: Fixes for v6.10 2024-05-23 13:29:27 +02:00
dwc Linux 6.6-rc7 2023-10-23 19:38:22 +01:00
fsl ASoC: fsl: Use *-y instead of *-objs in Makefile 2024-05-08 11:39:18 +09:00
generic ASoC: Updates for v6.10 2024-05-13 11:39:49 +02:00
google
hisilicon ASoC: hisilicon: Drop GPIO include 2023-12-18 14:03:29 +00:00
img ASoC: img: Use snd_soc_substream_to_rtd() for accessing private_data 2024-05-06 23:59:52 +09:00
intel sound fixes for 6.10-rc1 2024-05-24 08:48:51 -07:00
jz4740 ASoC: jz4740: Use *-y instead of *-objs in Makefile 2024-05-08 11:39:21 +09:00
kirkwood ASoC: kirkwood: Use *-y instead of *-objs in Makefile 2024-05-08 11:39:21 +09:00
loongson ASoC: loongson: Use *-y instead of *-objs in Makefile 2024-05-08 11:39:22 +09:00
mediatek ASoC: Updates for v6.10 2024-05-13 11:39:49 +02:00
meson ASoC: Updates for v6.10 2024-05-13 11:39:49 +02:00
mxs ASoC: mxs: Use *-y instead of *-objs in Makefile 2024-05-08 11:39:25 +09:00
pxa ASoC: pxa: Use *-y instead of *-objs in Makefile 2024-05-08 11:39:26 +09:00
qcom ASoC: Add missing module descriptions 2024-05-09 08:37:35 +02:00
rockchip ASoC: rockchip: Use *-y instead of *-objs in Makefile 2024-05-08 11:39:27 +09:00
samsung ASoC: samsung: Use *-y instead of *-objs in Makefile 2024-05-08 11:39:28 +09:00
sh ASoC: sh: Use *-y instead of *-objs in Makefile 2024-05-08 11:39:29 +09:00
sof ASoC: SOF: ipc4-topology: Add support for NHLT with 16-bit only DMIC blob 2024-05-30 12:33:28 +01:00
spear ASoC: spear: Use *-y instead of *-objs in Makefile 2024-05-08 11:39:31 +09:00
sprd ASoC: sprd: Use *-y instead of *-objs in Makefile 2024-05-08 11:39:32 +09:00
starfive ASoC: starfive/jh7110-pwmdac: Convert to platform remove callback returning void 2023-10-23 13:29:44 +01:00
sti ASoC: sti: Use *-y instead of *-objs in Makefile 2024-05-08 11:39:33 +09:00
stm ASoC: stm: Use *-y instead of *-objs in Makefile 2024-05-08 11:39:34 +09:00
sunxi ASoC: sunxi: Use snd_soc_substream_to_rtd() for accessing private_data 2024-05-06 23:59:56 +09:00
tegra ASoC: tegra: Use *-y instead of *-objs in Makefile 2024-05-08 11:39:34 +09:00
ti ASoC: ti: Use *-y instead of *-objs in Makefile 2024-05-08 11:39:35 +09:00
uniphier ASoC: uniphier: Use *-y instead of *-objs in Makefile 2024-05-08 11:39:36 +09:00
ux500 ASoC: Add missing module descriptions 2024-05-09 08:37:35 +02:00
xilinx ASoC: Add missing module descriptions 2024-05-09 08:37:35 +02:00
xtensa ASoC: xtensa: Use *-y instead of *-objs in Makefile 2024-05-08 11:39:39 +09:00
Kconfig ASoC: soc-card: Add KUnit test case for snd_soc_card_get_kcontrol 2024-04-02 15:54:49 +01:00
Makefile ASoC: core: Use *-y instead of *-objs in Makefile 2024-05-08 11:39:11 +09:00
soc-ac97.c
soc-acpi.c
soc-card-test.c ASoC: soc-card: soc-card-test: Fix some error handling in init() 2024-04-14 16:54:39 +09:00
soc-card.c ASoC: soc-card: Use snd_ctl_find_id_mixer() instead of open-coding 2024-04-02 15:54:48 +01:00
soc-component.c
soc-compress.c ASoC: soc-compress: Fix and add DPCM locking 2024-03-18 14:41:51 +00:00
soc-core.c ASoC: dmaengine_pcm: Allow passing component name via config 2024-03-25 00:49:47 +00:00
soc-dai.c ASoC: soc-dai: Note valid values of sysclock direction 2024-03-26 12:51:23 +00:00
soc-dapm.c ASoC: dapm: debugfs: show the widget type 2024-04-21 09:58:16 +09:00
soc-devres.c
soc-generic-dmaengine-pcm.c ASoC: dmaengine: Add missing module description 2024-05-08 20:51:10 +09:00
soc-jack.c ASoC: soc-jack: Get rid of legacy GPIO support 2024-03-26 17:13:45 +00:00
soc-link.c
soc-ops.c ASoC: ops: Fix wraparound for mask in snd_soc_get_volsw 2024-03-28 22:01:43 +00:00
soc-pcm.c ASoC: pcm: Reverse iterate DAIs when shutting them down 2024-04-30 00:09:46 +09:00
soc-topology-test.c ASoC: topology-test: Add missing module description 2024-05-08 20:51:10 +09:00
soc-topology.c ASoC: Drop soc-topology ABI v4 support 2024-04-04 18:09:18 +01:00
soc-utils-test.c
soc-utils.c