1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _AUDIO_EFFECTS_H
20#define _AUDIO_EFFECTS_H
21#define CONFIG_CACHE 0
22#define CONFIG_SET 1
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24#define CONFIG_GET 2
25#define VIRTUALIZER_MODULE 0x00001000
26#define VIRTUALIZER_ENABLE 0x00001001
27#define VIRTUALIZER_STRENGTH 0x00001002
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29#define VIRTUALIZER_OUT_TYPE 0x00001003
30#define VIRTUALIZER_GAIN_ADJUST 0x00001004
31#define VIRTUALIZER_ENABLE_PARAM_LEN 1
32#define VIRTUALIZER_STRENGTH_PARAM_LEN 1
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34#define VIRTUALIZER_OUT_TYPE_PARAM_LEN 1
35#define VIRTUALIZER_GAIN_ADJUST_PARAM_LEN 1
36#define REVERB_MODULE 0x00002000
37#define REVERB_ENABLE 0x00002001
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39#define REVERB_MODE 0x00002002
40#define REVERB_PRESET 0x00002003
41#define REVERB_WET_MIX 0x00002004
42#define REVERB_GAIN_ADJUST 0x00002005
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44#define REVERB_ROOM_LEVEL 0x00002006
45#define REVERB_ROOM_HF_LEVEL 0x00002007
46#define REVERB_DECAY_TIME 0x00002008
47#define REVERB_DECAY_HF_RATIO 0x00002009
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49#define REVERB_REFLECTIONS_LEVEL 0x0000200a
50#define REVERB_REFLECTIONS_DELAY 0x0000200b
51#define REVERB_LEVEL 0x0000200c
52#define REVERB_DELAY 0x0000200d
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54#define REVERB_DIFFUSION 0x0000200e
55#define REVERB_DENSITY 0x0000200f
56#define REVERB_ENABLE_PARAM_LEN 1
57#define REVERB_MODE_PARAM_LEN 1
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59#define REVERB_PRESET_PARAM_LEN 1
60#define REVERB_WET_MIX_PARAM_LEN 1
61#define REVERB_GAIN_ADJUST_PARAM_LEN 1
62#define REVERB_ROOM_LEVEL_PARAM_LEN 1
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64#define REVERB_ROOM_HF_LEVEL_PARAM_LEN 1
65#define REVERB_DECAY_TIME_PARAM_LEN 1
66#define REVERB_DECAY_HF_RATIO_PARAM_LEN 1
67#define REVERB_REFLECTIONS_LEVEL_PARAM_LEN 1
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69#define REVERB_REFLECTIONS_DELAY_PARAM_LEN 1
70#define REVERB_LEVEL_PARAM_LEN 1
71#define REVERB_DELAY_PARAM_LEN 1
72#define REVERB_DIFFUSION_PARAM_LEN 1
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74#define REVERB_DENSITY_PARAM_LEN 1
75#define BASS_BOOST_MODULE 0x00003000
76#define BASS_BOOST_ENABLE 0x00003001
77#define BASS_BOOST_MODE 0x00003002
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79#define BASS_BOOST_STRENGTH 0x00003003
80#define BASS_BOOST_ENABLE_PARAM_LEN 1
81#define BASS_BOOST_MODE_PARAM_LEN 1
82#define BASS_BOOST_STRENGTH_PARAM_LEN 1
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84#define EQ_MODULE 0x00004000
85#define EQ_ENABLE 0x00004001
86#define EQ_CONFIG 0x00004002
87#define EQ_NUM_BANDS 0x00004003
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89#define EQ_BAND_LEVELS 0x00004004
90#define EQ_BAND_LEVEL_RANGE 0x00004005
91#define EQ_BAND_FREQS 0x00004006
92#define EQ_SINGLE_BAND_FREQ_RANGE 0x00004007
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94#define EQ_SINGLE_BAND_FREQ 0x00004008
95#define EQ_BAND_INDEX 0x00004009
96#define EQ_PRESET_ID 0x0000400a
97#define EQ_NUM_PRESETS 0x0000400b
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99#define EQ_PRESET_NAME 0x0000400c
100#define EQ_ENABLE_PARAM_LEN 1
101#define EQ_CONFIG_PARAM_LEN 3
102#define EQ_CONFIG_PER_BAND_PARAM_LEN 5
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104#define EQ_NUM_BANDS_PARAM_LEN 1
105#define EQ_BAND_LEVELS_PARAM_LEN 13
106#define EQ_BAND_LEVEL_RANGE_PARAM_LEN 2
107#define EQ_BAND_FREQS_PARAM_LEN 13
108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109#define EQ_SINGLE_BAND_FREQ_RANGE_PARAM_LEN 2
110#define EQ_SINGLE_BAND_FREQ_PARAM_LEN 1
111#define EQ_BAND_INDEX_PARAM_LEN 1
112#define EQ_PRESET_ID_PARAM_LEN 1
113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114#define EQ_NUM_PRESETS_PARAM_LEN 1
115#define EQ_PRESET_NAME_PARAM_LEN 32
116#define EQ_TYPE_NONE 0
117#define EQ_BASS_BOOST 1
118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119#define EQ_BASS_CUT 2
120#define EQ_TREBLE_BOOST 3
121#define EQ_TREBLE_CUT 4
122#define EQ_BAND_BOOST 5
123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124#define EQ_BAND_CUT 6
125#define SOFT_VOLUME_MODULE 0x00006000
126#define SOFT_VOLUME_ENABLE 0x00006001
127#define SOFT_VOLUME_GAIN_2CH 0x00006002
128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129#define SOFT_VOLUME_GAIN_MASTER 0x00006003
130#define SOFT_VOLUME_ENABLE_PARAM_LEN 1
131#define SOFT_VOLUME_GAIN_2CH_PARAM_LEN 2
132#define SOFT_VOLUME_GAIN_MASTER_PARAM_LEN 1
133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134#define SOFT_VOLUME2_MODULE 0x00007000
135#define SOFT_VOLUME2_ENABLE 0x00007001
136#define SOFT_VOLUME2_GAIN_2CH 0x00007002
137#define SOFT_VOLUME2_GAIN_MASTER 0x00007003
138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139#define SOFT_VOLUME2_ENABLE_PARAM_LEN SOFT_VOLUME_ENABLE_PARAM_LEN
140#define SOFT_VOLUME2_GAIN_2CH_PARAM_LEN SOFT_VOLUME_GAIN_2CH_PARAM_LEN
141#define SOFT_VOLUME2_GAIN_MASTER_PARAM_LEN SOFT_VOLUME_GAIN_MASTER_PARAM_LEN
142#define PBE_CONF_MODULE_ID 0x00010C2A
143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144#define PBE_CONF_PARAM_ID 0x00010C49
145#define PBE_MODULE 0x00008000
146#define PBE_ENABLE 0x00008001
147#define PBE_CONFIG 0x00008002
148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149#define PBE_ENABLE_PARAM_LEN 1
150#define PBE_CONFIG_PARAM_LEN 28
151#define COMMAND_PAYLOAD_LEN 3
152#define COMMAND_PAYLOAD_SZ (COMMAND_PAYLOAD_LEN * sizeof(uint32_t))
153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154#define MAX_INBAND_PARAM_SZ 4096
155#define Q27_UNITY (1 << 27)
156#define Q8_UNITY (1 << 8)
157#define CUSTOM_OPENSL_PRESET 18
158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159#define VIRTUALIZER_ENABLE_PARAM_SZ (VIRTUALIZER_ENABLE_PARAM_LEN * sizeof(uint32_t))
160#define VIRTUALIZER_STRENGTH_PARAM_SZ (VIRTUALIZER_STRENGTH_PARAM_LEN * sizeof(uint32_t))
161#define VIRTUALIZER_OUT_TYPE_PARAM_SZ (VIRTUALIZER_OUT_TYPE_PARAM_LEN * sizeof(uint32_t))
162#define VIRTUALIZER_GAIN_ADJUST_PARAM_SZ (VIRTUALIZER_GAIN_ADJUST_PARAM_LEN * sizeof(uint32_t))
163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164struct virtualizer_params {
165  uint32_t device;
166  uint32_t enable_flag;
167  uint32_t strength;
168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169  uint32_t out_type;
170  int32_t gain_adjust;
171};
172#define NUM_OSL_REVERB_PRESETS_SUPPORTED 6
173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174#define REVERB_ENABLE_PARAM_SZ (REVERB_ENABLE_PARAM_LEN * sizeof(uint32_t))
175#define REVERB_MODE_PARAM_SZ (REVERB_MODE_PARAM_LEN * sizeof(uint32_t))
176#define REVERB_PRESET_PARAM_SZ (REVERB_PRESET_PARAM_LEN * sizeof(uint32_t))
177#define REVERB_WET_MIX_PARAM_SZ (REVERB_WET_MIX_PARAM_LEN * sizeof(uint32_t))
178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179#define REVERB_GAIN_ADJUST_PARAM_SZ (REVERB_GAIN_ADJUST_PARAM_LEN * sizeof(uint32_t))
180#define REVERB_ROOM_LEVEL_PARAM_SZ (REVERB_ROOM_LEVEL_PARAM_LEN * sizeof(uint32_t))
181#define REVERB_ROOM_HF_LEVEL_PARAM_SZ (REVERB_ROOM_HF_LEVEL_PARAM_LEN * sizeof(uint32_t))
182#define REVERB_DECAY_TIME_PARAM_SZ (REVERB_DECAY_TIME_PARAM_LEN * sizeof(uint32_t))
183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184#define REVERB_DECAY_HF_RATIO_PARAM_SZ (REVERB_DECAY_HF_RATIO_PARAM_LEN * sizeof(uint32_t))
185#define REVERB_REFLECTIONS_LEVEL_PARAM_SZ (REVERB_REFLECTIONS_LEVEL_PARAM_LEN * sizeof(uint32_t))
186#define REVERB_REFLECTIONS_DELAY_PARAM_SZ (REVERB_REFLECTIONS_DELAY_PARAM_LEN * sizeof(uint32_t))
187#define REVERB_LEVEL_PARAM_SZ (REVERB_LEVEL_PARAM_LEN * sizeof(uint32_t))
188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189#define REVERB_DELAY_PARAM_SZ (REVERB_DELAY_PARAM_LEN * sizeof(uint32_t))
190#define REVERB_DIFFUSION_PARAM_SZ (REVERB_DIFFUSION_PARAM_LEN * sizeof(uint32_t))
191#define REVERB_DENSITY_PARAM_SZ (REVERB_DENSITY_PARAM_LEN * sizeof(uint32_t))
192struct reverb_params {
193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194  uint32_t device;
195  uint32_t enable_flag;
196  uint32_t mode;
197  uint32_t preset;
198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199  uint32_t wet_mix;
200  int32_t gain_adjust;
201  int32_t room_level;
202  int32_t room_hf_level;
203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204  uint32_t decay_time;
205  uint32_t decay_hf_ratio;
206  int32_t reflections_level;
207  uint32_t reflections_delay;
208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209  int32_t level;
210  uint32_t delay;
211  uint32_t diffusion;
212  uint32_t density;
213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214};
215#define BASS_BOOST_ENABLE_PARAM_SZ (BASS_BOOST_ENABLE_PARAM_LEN * sizeof(uint32_t))
216#define BASS_BOOST_MODE_PARAM_SZ (BASS_BOOST_MODE_PARAM_LEN * sizeof(uint32_t))
217#define BASS_BOOST_STRENGTH_PARAM_SZ (BASS_BOOST_STRENGTH_PARAM_LEN * sizeof(uint32_t))
218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219struct bass_boost_params {
220  uint32_t device;
221  uint32_t enable_flag;
222  uint32_t mode;
223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224  uint32_t strength;
225};
226#define MAX_EQ_BANDS 12
227#define MAX_OSL_EQ_BANDS 5
228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229#define EQ_ENABLE_PARAM_SZ (EQ_ENABLE_PARAM_LEN * sizeof(uint32_t))
230#define EQ_CONFIG_PARAM_SZ (EQ_CONFIG_PARAM_LEN * sizeof(uint32_t))
231#define EQ_CONFIG_PER_BAND_PARAM_SZ (EQ_CONFIG_PER_BAND_PARAM_LEN * sizeof(uint32_t))
232#define EQ_CONFIG_PARAM_MAX_LEN (EQ_CONFIG_PARAM_LEN + MAX_EQ_BANDS * EQ_CONFIG_PER_BAND_PARAM_LEN)
233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234#define EQ_CONFIG_PARAM_MAX_SZ (EQ_CONFIG_PARAM_MAX_LEN * sizeof(uint32_t))
235#define EQ_NUM_BANDS_PARAM_SZ (EQ_NUM_BANDS_PARAM_LEN * sizeof(uint32_t))
236#define EQ_BAND_LEVELS_PARAM_SZ (EQ_BAND_LEVELS_PARAM_LEN * sizeof(uint32_t))
237#define EQ_BAND_LEVEL_RANGE_PARAM_SZ (EQ_BAND_LEVEL_RANGE_PARAM_LEN * sizeof(uint32_t))
238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239#define EQ_BAND_FREQS_PARAM_SZ (EQ_BAND_FREQS_PARAM_LEN * sizeof(uint32_t))
240#define EQ_SINGLE_BAND_FREQ_RANGE_PARAM_SZ (EQ_SINGLE_BAND_FREQ_RANGE_PARAM_LEN * sizeof(uint32_t))
241#define EQ_SINGLE_BAND_FREQ_PARAM_SZ (EQ_SINGLE_BAND_FREQ_PARAM_LEN * sizeof(uint32_t))
242#define EQ_BAND_INDEX_PARAM_SZ (EQ_BAND_INDEX_PARAM_LEN * sizeof(uint32_t))
243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244#define EQ_PRESET_ID_PARAM_SZ (EQ_PRESET_ID_PARAM_LEN * sizeof(uint32_t))
245#define EQ_NUM_PRESETS_PARAM_SZ (EQ_NUM_PRESETS_PARAM_LEN * sizeof(uint8_t))
246struct eq_config_t {
247  int32_t eq_pregain;
248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
249  int32_t preset_id;
250  uint32_t num_bands;
251};
252struct eq_per_band_config_t {
253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254  int32_t band_idx;
255  uint32_t filter_type;
256  uint32_t freq_millihertz;
257  int32_t gain_millibels;
258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259  uint32_t quality_factor;
260};
261struct eq_per_band_freq_range_t {
262  uint32_t band_index;
263/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264  uint32_t min_freq_millihertz;
265  uint32_t max_freq_millihertz;
266};
267struct eq_params {
268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269  uint32_t device;
270  uint32_t enable_flag;
271  struct eq_config_t config;
272  struct eq_per_band_config_t per_band_cfg[MAX_EQ_BANDS];
273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274  struct eq_per_band_freq_range_t per_band_freq_range[MAX_EQ_BANDS];
275  uint32_t band_index;
276  uint32_t freq_millihertz;
277};
278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
279#define PBE_ENABLE_PARAM_SZ (PBE_ENABLE_PARAM_LEN * sizeof(uint32_t))
280#define PBE_CONFIG_PARAM_SZ (PBE_CONFIG_PARAM_LEN * sizeof(uint16_t))
281struct pbe_config_t {
282  int16_t real_bass_mix;
283/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
284  int16_t bass_color_control;
285  uint16_t main_chain_delay;
286  uint16_t xover_filter_order;
287  uint16_t bandpass_filter_order;
288/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
289  int16_t drc_delay;
290  uint16_t rms_tav;
291  int16_t exp_threshold;
292  uint16_t exp_slope;
293/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294  int16_t comp_threshold;
295  uint16_t comp_slope;
296  uint16_t makeup_gain;
297  uint32_t comp_attack;
298/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
299  uint32_t comp_release;
300  uint32_t exp_attack;
301  uint32_t exp_release;
302  int16_t limiter_bass_threshold;
303/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304  int16_t limiter_high_threshold;
305  int16_t limiter_bass_makeup_gain;
306  int16_t limiter_high_makeup_gain;
307  int16_t limiter_bass_gc;
308/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309  int16_t limiter_high_gc;
310  int16_t limiter_delay;
311  uint16_t reserved;
312  int32_t p1LowPassCoeffs[5 * 2];
313/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
314  int32_t p1HighPassCoeffs[5 * 2];
315  int32_t p1BandPassCoeffs[5 * 3];
316  int32_t p1BassShelfCoeffs[5];
317  int32_t p1TrebleShelfCoeffs[5];
318/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
319} __attribute__((packed));
320struct pbe_params {
321  uint32_t device;
322  uint32_t enable_flag;
323/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
324  uint32_t cfg_len;
325  struct pbe_config_t config;
326};
327#define SOFT_VOLUME_ENABLE_PARAM_SZ (SOFT_VOLUME_ENABLE_PARAM_LEN * sizeof(uint32_t))
328/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
329#define SOFT_VOLUME_GAIN_MASTER_PARAM_SZ (SOFT_VOLUME_GAIN_MASTER_PARAM_LEN * sizeof(uint32_t))
330#define SOFT_VOLUME_GAIN_2CH_PARAM_SZ (SOFT_VOLUME_GAIN_2CH_PARAM_LEN * sizeof(uint16_t))
331struct soft_volume_params {
332  uint32_t device;
333/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
334  uint32_t enable_flag;
335  uint32_t master_gain;
336  uint32_t left_gain;
337  uint32_t right_gain;
338/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
339};
340struct msm_nt_eff_all_config {
341  struct bass_boost_params bass_boost;
342  struct pbe_params pbe;
343/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
344  struct virtualizer_params virtualizer;
345  struct reverb_params reverb;
346  struct eq_params equalizer;
347  struct soft_volume_params saplus_vol;
348/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
349  struct soft_volume_params topo_switch_vol;
350};
351#endif
352
353