]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
ASoC: Intel: avs: Allow the topology to carry NHLT data
authorCezary Rojewski <cezary.rojewski@intel.com>
Sat, 15 Nov 2025 18:06:26 +0000 (19:06 +0100)
committerMark Brown <broonie@kernel.org>
Sun, 16 Nov 2025 23:59:04 +0000 (23:59 +0000)
commitdd9896d41fdf1050934d6a46a1c5ca2164284e72
treef37081a2ba36808dd874d9ce16c73a035483db20
parent6a23ae0a96a600d1d12557add110e0bb6e32730c
ASoC: Intel: avs: Allow the topology to carry NHLT data

Typically the hardware configuration for I2S and DMIC devices resides
in the Non-HDAudio Link Table (NHLT) that is part of the ACPI tree. As
the NHLTs existing in the field are not always perfect, workaround
mechanisms are provided to patch them.

Currently the avs-driver is utilizing the ->blob_fmt override (see
topology.h and struct avs_tplg_modcfg_ext) when there is a valid entry
within a NHLT to configure the hardware for specific format but its
descriptor (header) is invalid.

A separate case is when there is no correct hardware configuration at
all within the NHLT available in the system. Patching the header won't
help and forcing ad-hoc BIOS updates for dated system is not feasible.
Allowing the topology to carry the data is the solution of choice as
replacing a userspace file that is part of /lib/firmware/intel/ is less
invasive than BIOS update and solves the problem.

Co-developed-by: Amadeusz Sławiński <amade@asmblr.net>
Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Link: https://patch.msgid.link/20251115180627.3589520-2-cezary.rojewski@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
include/uapi/sound/intel/avs/tokens.h
sound/soc/intel/avs/topology.c
sound/soc/intel/avs/topology.h