Re: [PATCH 12/12] ASoC: Intel: sof_rt5682: Add compress probe DAI links

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

 





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@xxxxxxxxx>
---
  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++;

_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel



[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