diff options
| author | Mark Brown <broonie@kernel.org> | 2026-01-14 20:11:26 +0000 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2026-01-14 20:11:26 +0000 |
| commit | 57aa7735a536adfdf4a0e535a95a2ed3e34c7c9a (patch) | |
| tree | 240eb4c730efdb1cbc391dfd9343a317118f1878 /sound/soc/sof/intel | |
| parent | 32bc4e7dde407b7c2287915bfcb30c84e8e6ad46 (diff) | |
| parent | 8a98e7f55f975360975083166e21982ef307b8fd (diff) | |
| download | lwn-57aa7735a536adfdf4a0e535a95a2ed3e34c7c9a.tar.gz lwn-57aa7735a536adfdf4a0e535a95a2ed3e34c7c9a.zip | |
sound: codecs: tlv320adcx140: assorted patches
Merge series from Sascha Hauer <s.hauer@pengutronix.de>:
These are some patches for the tlv320adcx140 codec we are carrying
around for a while, time to upstream them.
Diffstat (limited to 'sound/soc/sof/intel')
| -rw-r--r-- | sound/soc/sof/intel/hda.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/sound/soc/sof/intel/hda.c b/sound/soc/sof/intel/hda.c index 72c98154c027..d88ec66728fd 100644 --- a/sound/soc/sof/intel/hda.c +++ b/sound/soc/sof/intel/hda.c @@ -1549,6 +1549,7 @@ struct snd_soc_acpi_mach *hda_machine_select(struct snd_sof_dev *sdev) * name string if quirk flag is set. */ if (mach) { + const struct sof_intel_dsp_desc *chip = get_chip_info(sdev->pdata); bool tplg_fixup = false; bool dmic_fixup = false; @@ -1598,6 +1599,18 @@ struct snd_soc_acpi_mach *hda_machine_select(struct snd_sof_dev *sdev) sof_pdata->tplg_filename = tplg_filename; } + if (tplg_fixup && mach->mach_params.bt_link_mask && + chip->hw_ip_version >= SOF_INTEL_ACE_4_0) { + int bt_port = fls(mach->mach_params.bt_link_mask) - 1; + + tplg_filename = devm_kasprintf(sdev->dev, GFP_KERNEL, "%s-ssp%d-bt", + sof_pdata->tplg_filename, bt_port); + if (!tplg_filename) + return NULL; + + sof_pdata->tplg_filename = tplg_filename; + } + if (mach->link_mask) { mach->mach_params.links = mach->links; mach->mach_params.link_mask = mach->link_mask; @@ -1609,7 +1622,6 @@ struct snd_soc_acpi_mach *hda_machine_select(struct snd_sof_dev *sdev) if (tplg_fixup && mach->tplg_quirk_mask & SND_SOC_ACPI_TPLG_INTEL_SSP_NUMBER && mach->mach_params.i2s_link_mask) { - const struct sof_intel_dsp_desc *chip = get_chip_info(sdev->pdata); int ssp_num; if (hweight_long(mach->mach_params.i2s_link_mask) > 1 && |
