[alsa-devel] [PATCH 07/13] ASoC: topology: ABI - Add name & component info to BE/CC links
mengdong.lin at linux.intel.com
mengdong.lin at linux.intel.com
Fri Aug 19 12:13:36 CEST 2016
From: Mengdong Lin <mengdong.lin at linux.intel.com>
Add link name, stream name, CPU and codec components info, for topology
to create new backend or codec-codec links in the future.
Signed-off-by: Mengdong Lin <mengdong.lin at linux.intel.com>
diff --git a/include/uapi/sound/asoc.h b/include/uapi/sound/asoc.h
index c75ed4f..812a70b 100644
--- a/include/uapi/sound/asoc.h
+++ b/include/uapi/sound/asoc.h
@@ -39,6 +39,9 @@
*/
#define SND_SOC_TPLG_STREAM_CONFIG_MAX 8
+/* maximum number of codecs for a BE/CC link */
+#define SND_SOC_TPLG_LINK_CODECS_MAX 4
+
/* individual kcontrol info types - can be mixed with other types */
#define SND_SOC_TPLG_CTL_VOLSW 1
#define SND_SOC_TPLG_CTL_VOLSW_SX 2
@@ -465,6 +468,15 @@ struct snd_soc_tplg_pcm {
/*
+ * Component for backend links.
+ */
+struct snd_soc_tplg_link_cmpnt {
+ __le32 size; /* in bytes of this structure */
+ char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; /* component name, optional */
+ char dai_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
+} __attribute__((packed));
+
+/*
* Describes the BE or CC link runtime supported configs or params
*
* File block representation for BE/CC link config :-
@@ -476,9 +488,16 @@ struct snd_soc_tplg_pcm {
*/
struct snd_soc_tplg_link_config {
__le32 size; /* in bytes of this structure */
- __le32 id; /* unique ID - used to match */
+ __le32 id; /* unique ID - used to match with DAI link */
struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX]; /* supported configs playback and captrure */
__le32 num_streams; /* number of streams */
+
+ char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; /* link name */
+ char stream_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; /* stream name */
+
+ struct snd_soc_tplg_link_cmpnt cpu; /* cpu component */
+ struct snd_soc_tplg_link_cmpnt codecs[SND_SOC_TPLG_LINK_CODECS_MAX]; /* codec components */
+ __le32 num_codecs; /* number of codecs */
} __attribute__((packed));
/*
--
2.5.0
More information about the Alsa-devel
mailing list