[alsa-devel] [PATCH 12/12] ASoC: Intel: sof_rt5682: Add compress probe DAI links
Pierre-Louis Bossart
pierre-louis.bossart at linux.intel.com
Fri Jan 24 20:31:48 CET 2020
On 1/24/20 1:04 PM, Cezary Rojewski wrote:
> Assign probe DAI link to actively used SOF machine boards.
> For current upstream, it is only sof_rt5682.
This patch should really be an example, do we really want this upstream
as is?
I'd like to have 'clean' support for probes once Ranjani's multi-client
work is available, without changes to any machine driver.
>
> Signed-off-by: Cezary Rojewski <cezary.rojewski at intel.com>
> ---
> sound/soc/intel/boards/sof_rt5682.c | 20 ++++++++++++++++++--
> 1 file changed, 18 insertions(+), 2 deletions(-)
>
> diff --git a/sound/soc/intel/boards/sof_rt5682.c b/sound/soc/intel/boards/sof_rt5682.c
> index 5d878873a8e0..8c26214b19d3 100644
> --- a/sound/soc/intel/boards/sof_rt5682.c
> +++ b/sound/soc/intel/boards/sof_rt5682.c
> @@ -417,6 +417,8 @@ static struct snd_soc_dai_link_component max98357a_component[] = {
> }
> };
>
> +SND_SOC_DAILINK_DEF(dummy, DAILINK_COMP_ARRAY(COMP_DUMMY()));
> +
> static struct snd_soc_dai_link *sof_card_dai_links_create(struct device *dev,
> int ssp_codec,
> int ssp_amp,
> @@ -580,8 +582,22 @@ static struct snd_soc_dai_link *sof_card_dai_links_create(struct device *dev,
> if (!links[id].cpus->dai_name)
> goto devm_err;
> }
> + id++;
> }
>
> +#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA_PROBES)
> + links[id].name = "Compress Probe Capture";
> + links[id].id = id;
> + links[id].cpus = &cpus[id];
> + links[id].num_cpus = 1;
> + links[id].cpus->dai_name = "Probe Extraction CPU DAI";
> + links[id].codecs = dummy;
> + links[id].num_codecs = 1;
> + links[id].platforms = platform_component;
> + links[id].num_platforms = ARRAY_SIZE(platform_component);
> + links[id].nonatomic = 1;
> +#endif
> +
> return links;
> devm_err:
> return NULL;
> @@ -656,8 +672,8 @@ static int sof_audio_probe(struct platform_device *pdev)
>
> ssp_codec = sof_rt5682_quirk & SOF_RT5682_SSP_CODEC_MASK;
>
> - /* compute number of dai links */
> - sof_audio_card_rt5682.num_links = 1 + dmic_be_num + hdmi_num;
> + /* account for SSP and probes when computing total dai link count */
> + sof_audio_card_rt5682.num_links = 1 + dmic_be_num + hdmi_num + 1;
>
> if (sof_rt5682_quirk & SOF_SPEAKER_AMP_PRESENT)
> sof_audio_card_rt5682.num_links++;
>
More information about the Alsa-devel
mailing list