Hi,
the existing logic to pick a DMIC blob is based on several historical assumptions
that the NHLT in BIOS always contains 32-bits per sample type (first patch, [1]).
The other issue with the existing logic is that it was designed to care only
about the bit depth of the format and fails to find the existing and correct
blob when rate/channels are different on the FE side compared to what we should
be using on the DAI side (we have components in path which can change
rate/channel count).
These issues have not been observed in past but with new MTL based (Windows)
laptops and new topologies to enhance the audio quality, we started to see weird
issues around how our assumptions of vendors failed.
Since some NHLT blob handling cleanup has been done for 6.10, this series will
complete that work to cover even cases that we don't anticipate to see.
[1] https://github.com/thesofproject/linux/issues/4973
Regards,
Peter
---
Peter Ujfalusi (5):
ASoC: SOF: ipc4-topology: Add support for NHLT with 16-bit only DMIC
blob
ASoC: SOF: ipc4-topology: Print out the channel count in
sof_ipc4_dbg_audio_format
ASoC: SOF: ipc4-topology/pcm: Rename
sof_ipc4_copier_is_single_format()
ASoC: SOF: ipc4-topology: Improve readability of
sof_ipc4_prepare_dai_copier()
ASoC: SOF: ipc4-topology: Adjust the params based on DAI formats
sound/soc/sof/ipc4-pcm.c | 12 +--
sound/soc/sof/ipc4-topology.c | 155 +++++++++++++++++++++++-----------
sound/soc/sof/ipc4-topology.h | 6 +-
3 files changed, 115 insertions(+), 58 deletions(-)
--
2.45.1
[Index of Archives]
[Pulseaudio]
[Linux Audio Users]
[ALSA Devel]
[Fedora Desktop]
[Fedora SELinux]
[Big List of Linux Books]
[Yosemite News]
[KDE Users]