[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <dfebabad-4777-b5e3-8f58-1301faf97f7e@linux.intel.com>
Date: Tue, 21 Feb 2023 11:49:53 -0500
From: Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>
To: Richard Fitzgerald <rf@...nsource.cirrus.com>, broonie@...nel.org,
cezary.rojewski@...el.com, peter.ujfalusi@...ux.intel.com,
yung-chuan.liao@...ux.intel.com, kai.vehmanen@...ux.intel.com
Cc: alsa-devel@...a-project.org, linux-kernel@...r.kernel.org,
patches@...nsource.cirrus.com
Subject: Re: [PATCH 09/10] ASoC: Intel: sof_sdw: Add support for Cirrus Logic
CS35L56
> +static int cs35l56_init_multiple(struct snd_soc_pcm_runtime *rtd, int count)
> +{
> + struct snd_soc_card *card = rtd->card;
> + struct snd_soc_dai *codec_dai;
> + int i, ret;
> +
> + card->components = devm_kasprintf(card->dev, GFP_KERNEL,
> + "%s hs:cs35l56",
the string is wrong here, this is an amplifier so it should be
amp:cs35l56 or spk:cs36l56 (not sure which of the two we ended-up using).
> + card->components);
> + if (!card->components)
> + return -ENOMEM;
> +
> + ret = snd_soc_dapm_new_controls(&card->dapm,
> + cs35l56_sof_widgets, ARRAY_SIZE(cs35l56_sof_widgets));
> + if (ret) {
> + dev_err(card->dev, "Widgets add failed: %d\n", ret);
> + return ret;
> + }
> +
> + ret = snd_soc_dapm_add_routes(&card->dapm, cs35l56_sof_map, count);
> + if (ret) {
> + dev_err(card->dev, "Map add %d failed: %d\n", count, ret);
> + return ret;
> + }
> +
> + /* Enable one feedback TX per amp on different slots */
> + for_each_rtd_codec_dais(rtd, i, codec_dai) {
> + ret = snd_soc_dai_set_tdm_slot(codec_dai, 0x3, 1 << i, 4, 16);
TDM slots? Not getting how this would work with SoundWire?
> + if (ret < 0)
> + return ret;
> + }
> +
> + return 0;
> +}
Powered by blists - more mailing lists