History

Merge remote-tracking branches 'asoc/fix/cs4265', 'asoc/fix/intel' and 'asoc/fix/topology' into asoc-linus

Mark Brown committed 11 years ago

Commit d00a9e04 parents 78be55a bffc449 45f503d c7bcf875 files · +76 −34Browse files

Showing the changes to include/uapi (1 of 5 files). Show all

Unified · Split

include/uapi/sound/asoc.h+24−11
@@ -77,7 +77,7 @@ · 76 unmodified lines
7777 #define SND_SOC_TPLG_NUM_TEXTS 16
7878
7979 /* ABI version */
80−#define SND_SOC_TPLG_ABI_VERSION 0x2
80+#define SND_SOC_TPLG_ABI_VERSION 0x3
8181
8282 /* Max size of TLV data */
8383 #define SND_SOC_TPLG_TLV_SIZE 32
@@ -97,7 +97,8 @@ · 13 unmodified lines
9797 #define SND_SOC_TPLG_TYPE_PCM 7
9898 #define SND_SOC_TPLG_TYPE_MANIFEST 8
9999 #define SND_SOC_TPLG_TYPE_CODEC_LINK 9
100−#define SND_SOC_TPLG_TYPE_MAX SND_SOC_TPLG_TYPE_CODEC_LINK
100+#define SND_SOC_TPLG_TYPE_PDATA 10
101+#define SND_SOC_TPLG_TYPE_MAX SND_SOC_TPLG_TYPE_PDATA
101102
102103 /* vendor block IDs - please add new vendor types to end */
103104 #define SND_SOC_TPLG_TYPE_VENDOR_FW 1000
@@ -137,11 +138,19 @@ struct snd_soc_tplg_private { · 33 unmodified lines
137138 /*
138139 * Kcontrol TLV data.
139140 */
141+struct snd_soc_tplg_tlv_dbscale {
142+ __le32 min;
143+ __le32 step;
144+ __le32 mute;
145+} __attribute__((packed));
146+
140147 struct snd_soc_tplg_ctl_tlv {
141− __le32 size; /* in bytes aligned to 4 */
142− __le32 numid; /* control element numeric identification */
143− __le32 count; /* number of elem in data array */
144− __le32 data[SND_SOC_TPLG_TLV_SIZE];
148+ __le32 size; /* in bytes of this structure */
149+ __le32 type; /* SNDRV_CTL_TLVT_*, type of TLV */
150+ union {
151+ __le32 data[SND_SOC_TPLG_TLV_SIZE];
152+ struct snd_soc_tplg_tlv_dbscale scale;
153+ };
145154 } __attribute__((packed));
146155
147156 /*
@@ -155,9 +164,11 @@ struct snd_soc_tplg_channel { · 7 unmodified lines
155164 } __attribute__((packed));
156165
157166 /*
158− * Kcontrol Operations IDs
167+ * Genericl Operations IDs, for binding Kcontrol or Bytes ext ops
168+ * Kcontrol ops need get/put/info.
169+ * Bytes ext ops need get/put.
159170 */
160−struct snd_soc_tplg_kcontrol_ops_id {
171+struct snd_soc_tplg_io_ops {
161172 __le32 get;
162173 __le32 put;
163174 __le32 info;
@@ -171,8 +182,8 @@ struct snd_soc_tplg_ctl_hdr { · 7 unmodified lines
171182 __le32 type;
172183 char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
173184 __le32 access;
174− struct snd_soc_tplg_kcontrol_ops_id ops;
175− __le32 tlv_size; /* non zero means control has TLV data */
185+ struct snd_soc_tplg_io_ops ops;
186+ struct snd_soc_tplg_ctl_tlv tlv;
176187 } __attribute__((packed));
177188
178189 /*
@@ -238,6 +249,7 @@ struct snd_soc_tplg_manifest { · 59 unmodified lines
238249 __le32 graph_elems; /* number of graph elements */
239250 __le32 dai_elems; /* number of DAI elements */
240251 __le32 dai_link_elems; /* number of DAI link elements */
252+ struct snd_soc_tplg_private priv;
241253 } __attribute__((packed));
242254
243255 /*
@@ -259,7 +271,6 @@ struct snd_soc_tplg_mixer_control { · 15 unmodified lines
259271 __le32 invert;
260272 __le32 num_channels;
261273 struct snd_soc_tplg_channel channel[SND_SOC_TPLG_MAX_CHAN];
262− struct snd_soc_tplg_ctl_tlv tlv;
263274 struct snd_soc_tplg_private priv;
264275 } __attribute__((packed));
265276
@@ -303,6 +314,7 @@ struct snd_soc_tplg_bytes_control { · 37 unmodified lines
303314 __le32 mask;
304315 __le32 base;
305316 __le32 num_regs;
317+ struct snd_soc_tplg_io_ops ext_ops;
306318 struct snd_soc_tplg_private priv;
307319 } __attribute__((packed));
308320
@@ -347,6 +359,7 @@ struct snd_soc_tplg_dapm_widget { · 38 unmodified lines
347359 __le32 reg; /* negative reg = no direct dapm */
348360 __le32 shift; /* bits to shift */
349361 __le32 mask; /* non-shifted mask */
362+ __le32 subseq; /* sort within widget type */
350363 __u32 invert; /* invert the power bit */
351364 __u32 ignore_suspend; /* kept enabled over suspend */
352365 __u16 event_flags;