summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMengdong Lin <mengdong.lin@linux.intel.com>2016-11-04 07:05:53 +0800
committerTakashi Iwai <tiwai@suse.de>2016-11-05 16:41:52 +0100
commit6945156a677abdc51318f214b0380199204ab6ba (patch)
tree88b7f6541c37c165b79a889139d4feccbbda0508
parent3a5341e2ac8fe745b8791a04c36a21ae136024bd (diff)
downloadalsa-lib-6945156a677abdc51318f214b0380199204ab6ba.tar.gz
topology: ABI - Update stream caps and PCM objects to ABI v5
Here are the ABI updates for PCM (Front DAI & DAI link) objects: - add sig_bits to stream caps. - add flags and private data to PCM. The kernel can handle the ABI update in a backward compatible way with the patch "ASoC: topology: Make PCM backward compatible from ABI v4". Signed-off-by: Mengdong Lin <mengdong.lin@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--include/sound/asoc.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/sound/asoc.h b/include/sound/asoc.h
index abe49c59..1f2c230c 100644
--- a/include/sound/asoc.h
+++ b/include/sound/asoc.h
@@ -115,6 +115,11 @@
#define SND_SOC_TPLG_TUPLE_TYPE_WORD 4
#define SND_SOC_TPLG_TUPLE_TYPE_SHORT 5
+/* DAI link flags */
+#define SND_SOC_TPLG_LNK_FLGBIT_SYMMETRIC_RATES (1 << 0)
+#define SND_SOC_TPLG_LNK_FLGBIT_SYMMETRIC_CHANNELS (1 << 1)
+#define SND_SOC_TPLG_LNK_FLGBIT_SYMMETRIC_SAMPLEBITS (1 << 2)
+
/*
* Block Header.
* This header precedes all object and object arrays below.
@@ -242,6 +247,7 @@ struct snd_soc_tplg_stream_caps {
__le32 period_size_max; /* max period size bytes */
__le32 buffer_size_min; /* min buffer size bytes */
__le32 buffer_size_max; /* max buffer size bytes */
+ __le32 sig_bits; /* number of bits of content */
} __attribute__((packed));
/*
@@ -422,6 +428,9 @@ struct snd_soc_tplg_pcm {
struct snd_soc_tplg_stream stream[SND_SOC_TPLG_STREAM_CONFIG_MAX]; /* for DAI link */
__le32 num_streams; /* number of streams */
struct snd_soc_tplg_stream_caps caps[2]; /* playback and capture for DAI */
+ __le32 flag_mask; /* bitmask of flags to configure */
+ __le32 flags; /* SND_SOC_TPLG_LNK_FLGBIT_* flag value */
+ struct snd_soc_tplg_private priv;
} __attribute__((packed));