Commit b1ca2f63 authored by randerwang's avatar randerwang Committed by Mark Brown

ASoC: Intel: sof_sdw: add amp number in components string for ucm

The number of speaker amplifiers may vary between platforms. UCM
needs to check amp number to include different configuration files.
This patch keeps track of the number of speaker amplifiers and
stores it in components string of the card.

Tested on Comet Lake platforms.
Signed-off-by: default avatarranderwang <rander.wang@linux.intel.com>
Signed-off-by: default avatarPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: default avatarBard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: default avatarGuennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Link: https://lore.kernel.org/r/20200419183509.4134-1-yung-chuan.liao@linux.intel.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent e782ddbb
...@@ -909,6 +909,7 @@ static int mc_probe(struct platform_device *pdev) ...@@ -909,6 +909,7 @@ static int mc_probe(struct platform_device *pdev)
struct snd_soc_card *card = &card_sof_sdw; struct snd_soc_card *card = &card_sof_sdw;
struct snd_soc_acpi_mach *mach; struct snd_soc_acpi_mach *mach;
struct mc_private *ctx; struct mc_private *ctx;
int amp_num = 0, i;
int ret; int ret;
dev_dbg(&pdev->dev, "Entry %s\n", __func__); dev_dbg(&pdev->dev, "Entry %s\n", __func__);
...@@ -935,9 +936,18 @@ static int mc_probe(struct platform_device *pdev) ...@@ -935,9 +936,18 @@ static int mc_probe(struct platform_device *pdev)
snd_soc_card_set_drvdata(card, ctx); snd_soc_card_set_drvdata(card, ctx);
/*
* the default amp_num is zero for each codec and
* amp_num will only be increased for active amp
* codecs on used platform
*/
for (i = 0; i < ARRAY_SIZE(codec_info_list); i++)
amp_num += codec_info_list[i].amp_num;
card->components = devm_kasprintf(card->dev, GFP_KERNEL, card->components = devm_kasprintf(card->dev, GFP_KERNEL,
"cfg-spk:%d", "cfg-spk:%d, cfg-amp:%d",
(sof_sdw_quirk & SOF_SDW_FOUR_SPK) ? 4 : 2); (sof_sdw_quirk & SOF_SDW_FOUR_SPK)
? 4 : 2, amp_num);
if (!card->components) if (!card->components)
return -ENOMEM; return -ENOMEM;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment