summaryrefslogtreecommitdiffstats
path: root/sound/soc/intel/common/soc-acpi-intel-cml-match.c
diff options
context:
space:
mode:
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>2022-03-08 13:25:56 -0600
committerMark Brown <broonie@kernel.org>2022-03-09 13:30:18 +0000
commit4694b8382d6b79bcf95995757419d279a3ab375b (patch)
treef41a059ca56c962ed5e176b1e476da492811993b /sound/soc/intel/common/soc-acpi-intel-cml-match.c
parentbd015f633b05a3d4f88a3d7099746b2819a523f5 (diff)
downloadlinux-stable-4694b8382d6b79bcf95995757419d279a3ab375b.tar.gz
linux-stable-4694b8382d6b79bcf95995757419d279a3ab375b.tar.bz2
linux-stable-4694b8382d6b79bcf95995757419d279a3ab375b.zip
ASoC: Intel: soc-acpi: quirk topology filename dynamically
Different topology filenames may be required depending on which SSP is used, and whether or not digital mics are present. This patch adds a tplg_quirk_mask and in the case of the SOF driver adds the relevant configurations. This is a short-term solution to the ES8336 support issues. In a long-term solution, we would need an interface where the machine driver or platform driver have the ability to alter the topology hard-coded low-level hardware support, e.g. by substituting an interface for another, or disabling an interface that is not supported on a given skew. BugLink: https://github.com/thesofproject/linux/issues/3248 Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Link: https://lore.kernel.org/r/20220308192610.392950-7-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/intel/common/soc-acpi-intel-cml-match.c')
-rw-r--r--sound/soc/intel/common/soc-acpi-intel-cml-match.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sound/soc/intel/common/soc-acpi-intel-cml-match.c b/sound/soc/intel/common/soc-acpi-intel-cml-match.c
index d033474f8768..f75fa1b551d7 100644
--- a/sound/soc/intel/common/soc-acpi-intel-cml-match.c
+++ b/sound/soc/intel/common/soc-acpi-intel-cml-match.c
@@ -78,7 +78,10 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_cml_machines[] = {
{
.id = "ESSX8336",
.drv_name = "sof-essx8336",
- .sof_tplg_filename = "sof-cml-es8336.tplg",
+ .sof_tplg_filename = "sof-cml-es8336", /* the tplg suffix is added at run time */
+ .tplg_quirk_mask = SND_SOC_ACPI_TPLG_INTEL_SSP_NUMBER |
+ SND_SOC_ACPI_TPLG_INTEL_SSP_MSB |
+ SND_SOC_ACPI_TPLG_INTEL_DMIC_NUMBER,
},
{},
};