History

Merge tag 'sound-4.2-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound

Pull sound fixes from Takashi Iwai: "The only bulk changes in this request is ABI updates for ASoC topology API. It's a new API that was introduced in 4.2, and we'd like to avoid ABI change after the release, so it's taken now. As there is no real in-tree user for this API, it should be fairly safe. Other than that, the usual small fixes are found in various drivers: ASoC cs4265, rt5645, intel-sst, firewire, oxygen and HD-audio" * tag 'sound-4.2-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ASoC: topology: Add private data type and bump ABI version to 3 ASoC: topology: Add ops support to byte controls UAPI ASoC: topology: Update TLV support so we can support more TLV types ASoC: topology: add private data to manifest ASoC: topology: Add subsequence in topology ALSA: hda - one Dell machine needs the headphone white noise fixup ALSA: fireworks/firewire-lib: add support for recent firmware quirk Revert "ALSA: fireworks: add support for AudioFire2 quirk" ASoC: topology: fix typo in soc_tplg_kcontrol_bind_io() ALSA: HDA: Dont check return for snd_hdac_chip_readl ALSA: HDA: Fix stream assignment for host in decoupled mode ASoC: rt5645: Fix lost pin setting for DMIC1 ALSA: oxygen: Fix logical-not-parentheses warning ASoC: Intel: sst_byt: fix initialize 'NULL device *' issue ASoC: Intel: haswell: fix initialize 'NULL device *' issue ASoC: cs4265: Fix setting dai format for Left/Right Justified

Linus Torvalds committed 11 years ago

Commit f0943012 parents ea8dc1a 6ac7ada16 files · +108 −50Browse files

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

Unified · Split

include/uapi/sound/asoc.h+24−11
@@ -77,7 +77,7 @@ · 76 unmodified lines
77#define SND_SOC_TPLG_NUM_TEXTS 1677#define SND_SOC_TPLG_NUM_TEXTS 16
78 78
79/* ABI version */79/* ABI version */
80#define SND_SOC_TPLG_ABI_VERSION 0x280#define SND_SOC_TPLG_ABI_VERSION 0x3
81 81
82/* Max size of TLV data */82/* Max size of TLV data */
83#define SND_SOC_TPLG_TLV_SIZE 3283#define SND_SOC_TPLG_TLV_SIZE 32
@@ -97,7 +97,8 @@ · 13 unmodified lines
97#define SND_SOC_TPLG_TYPE_PCM 797#define SND_SOC_TPLG_TYPE_PCM 7
98#define SND_SOC_TPLG_TYPE_MANIFEST 898#define SND_SOC_TPLG_TYPE_MANIFEST 8
99#define SND_SOC_TPLG_TYPE_CODEC_LINK 999#define SND_SOC_TPLG_TYPE_CODEC_LINK 9
100#define SND_SOC_TPLG_TYPE_MAX SND_SOC_TPLG_TYPE_CODEC_LINK100#define SND_SOC_TPLG_TYPE_PDATA 10
101#define SND_SOC_TPLG_TYPE_MAX SND_SOC_TPLG_TYPE_PDATA
101 102
102/* vendor block IDs - please add new vendor types to end */103/* vendor block IDs - please add new vendor types to end */
103#define SND_SOC_TPLG_TYPE_VENDOR_FW 1000104#define SND_SOC_TPLG_TYPE_VENDOR_FW 1000
@@ -137,11 +138,19 @@ struct snd_soc_tplg_private { · 33 unmodified lines
137/*138/*
138 * Kcontrol TLV data.139 * Kcontrol TLV data.
139 */140 */
141struct snd_soc_tplg_tlv_dbscale {
142 __le32 min;
143 __le32 step;
144 __le32 mute;
145} __attribute__((packed));
146
140struct snd_soc_tplg_ctl_tlv {147struct snd_soc_tplg_ctl_tlv {
141 __le32 size; /* in bytes aligned to 4 */148 __le32 size; /* in bytes of this structure */
142 __le32 numid; /* control element numeric identification */149 __le32 type; /* SNDRV_CTL_TLVT_*, type of TLV */
143 __le32 count; /* number of elem in data array */150 union {
144 __le32 data[SND_SOC_TPLG_TLV_SIZE];151 __le32 data[SND_SOC_TPLG_TLV_SIZE];
152 struct snd_soc_tplg_tlv_dbscale scale;
153 };
145} __attribute__((packed));154} __attribute__((packed));
146 155
147/*156/*
@@ -155,9 +164,11 @@ struct snd_soc_tplg_channel { · 7 unmodified lines
155} __attribute__((packed));164} __attribute__((packed));
156 165
157/*166/*
158 * Kcontrol Operations IDs167 * Genericl Operations IDs, for binding Kcontrol or Bytes ext ops
168 * Kcontrol ops need get/put/info.
169 * Bytes ext ops need get/put.
159 */170 */
160struct snd_soc_tplg_kcontrol_ops_id {171struct snd_soc_tplg_io_ops {
161 __le32 get;172 __le32 get;
162 __le32 put;173 __le32 put;
163 __le32 info;174 __le32 info;
@@ -171,8 +182,8 @@ struct snd_soc_tplg_ctl_hdr { · 7 unmodified lines
171 __le32 type;182 __le32 type;
172 char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];183 char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
173 __le32 access;184 __le32 access;
174 struct snd_soc_tplg_kcontrol_ops_id ops;185 struct snd_soc_tplg_io_ops ops;
175 __le32 tlv_size; /* non zero means control has TLV data */186 struct snd_soc_tplg_ctl_tlv tlv;
176} __attribute__((packed));187} __attribute__((packed));
177 188
178/*189/*
@@ -238,6 +249,7 @@ struct snd_soc_tplg_manifest { · 59 unmodified lines
238 __le32 graph_elems; /* number of graph elements */249 __le32 graph_elems; /* number of graph elements */
239 __le32 dai_elems; /* number of DAI elements */250 __le32 dai_elems; /* number of DAI elements */
240 __le32 dai_link_elems; /* number of DAI link elements */251 __le32 dai_link_elems; /* number of DAI link elements */
252 struct snd_soc_tplg_private priv;
241} __attribute__((packed));253} __attribute__((packed));
242 254
243/*255/*
@@ -259,7 +271,6 @@ struct snd_soc_tplg_mixer_control { · 15 unmodified lines
259 __le32 invert;271 __le32 invert;
260 __le32 num_channels;272 __le32 num_channels;
261 struct snd_soc_tplg_channel channel[SND_SOC_TPLG_MAX_CHAN];273 struct snd_soc_tplg_channel channel[SND_SOC_TPLG_MAX_CHAN];
262 struct snd_soc_tplg_ctl_tlv tlv;
263 struct snd_soc_tplg_private priv;274 struct snd_soc_tplg_private priv;
264} __attribute__((packed));275} __attribute__((packed));
265 276
@@ -303,6 +314,7 @@ struct snd_soc_tplg_bytes_control { · 37 unmodified lines
303 __le32 mask;314 __le32 mask;
304 __le32 base;315 __le32 base;
305 __le32 num_regs;316 __le32 num_regs;
317 struct snd_soc_tplg_io_ops ext_ops;
306 struct snd_soc_tplg_private priv;318 struct snd_soc_tplg_private priv;
307} __attribute__((packed));319} __attribute__((packed));
308 320
@@ -347,6 +359,7 @@ struct snd_soc_tplg_dapm_widget { · 38 unmodified lines
347 __le32 reg; /* negative reg = no direct dapm */359 __le32 reg; /* negative reg = no direct dapm */
348 __le32 shift; /* bits to shift */360 __le32 shift; /* bits to shift */
349 __le32 mask; /* non-shifted mask */361 __le32 mask; /* non-shifted mask */
362 __le32 subseq; /* sort within widget type */
350 __u32 invert; /* invert the power bit */363 __u32 invert; /* invert the power bit */
351 __u32 ignore_suspend; /* kept enabled over suspend */364 __u32 ignore_suspend; /* kept enabled over suspend */
352 __u16 event_flags;365 __u16 event_flags;