Showing the changes to include/uapi (1 of 5 files). Show all
Unified · Split
| @@ -77,7 +77,7 @@ · 76 unmodified lines | |||
| 77 | #define SND_SOC_TPLG_NUM_TEXTS 16 | 77 | #define SND_SOC_TPLG_NUM_TEXTS 16 |
| 78 | 78 | ||
| 79 | /* ABI version */ | 79 | /* ABI version */ |
| 80 | #define SND_SOC_TPLG_ABI_VERSION 0x2 | 80 | #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 32 | 83 | #define SND_SOC_TPLG_TLV_SIZE 32 |
| @@ -97,7 +97,8 @@ · 13 unmodified lines | |||
| 97 | #define SND_SOC_TPLG_TYPE_PCM 7 | 97 | #define SND_SOC_TPLG_TYPE_PCM 7 |
| 98 | #define SND_SOC_TPLG_TYPE_MANIFEST 8 | 98 | #define SND_SOC_TPLG_TYPE_MANIFEST 8 |
| 99 | #define SND_SOC_TPLG_TYPE_CODEC_LINK 9 | 99 | #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 | ||
| 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 1000 | 104 | #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 | */ |
| 141 | struct snd_soc_tplg_tlv_dbscale { | ||
| 142 | __le32 min; | ||
| 143 | __le32 step; | ||
| 144 | __le32 mute; | ||
| 145 | } __attribute__((packed)); | ||
| 146 | |||
| 140 | struct snd_soc_tplg_ctl_tlv { | 147 | struct 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 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. | ||
| 159 | */ | 170 | */ |
| 160 | struct snd_soc_tplg_kcontrol_ops_id { | 171 | struct 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; |