Re: [PATCH 09/10] ASoC: Intel: sof_sdw: Add support for Cirrus Logic CS35L56

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> +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;
> +}



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux