]> git.alsa-project.org Git - alsa-lib.git/commitdiff
topology: ABI - Update stream caps and PCM objects to ABI v5
authorMengdong Lin <mengdong.lin@linux.intel.com>
Thu, 3 Nov 2016 23:05:53 +0000 (07:05 +0800)
committerTakashi Iwai <tiwai@suse.de>
Sat, 5 Nov 2016 15:41:52 +0000 (16:41 +0100)
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>
include/sound/asoc.h

index abe49c5949f46a273a32ca3f88d57fea2a4b064c..1f2c230c2d6300fcf58cee5717ffc05d52324338 100644 (file)
 #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));