]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blame - sound/pci/hda/alc861_quirks.c
ALSA: hda - Restore VREF50 setup for ALC861-VD dallas/hp models
[mirror_ubuntu-bionic-kernel.git] / sound / pci / hda / alc861_quirks.c
CommitLineData
1d045db9
TI
1/*
2 * ALC660/ALC861 quirk models
3 * included by patch_realtek.c
4 */
5
6/* ALC861 models */
7enum {
8 ALC861_AUTO,
9 ALC861_3ST,
10 ALC660_3ST,
11 ALC861_3ST_DIG,
12 ALC861_6ST_DIG,
1d045db9 13 ALC861_ASUS,
1d045db9
TI
14 ALC861_MODEL_LAST,
15};
16
17/*
18 * ALC861 channel source setting (2/6 channel selection for 3-stack)
19 */
20
21/*
22 * set the path ways for 2 channel output
23 * need to set the codec line out and mic 1 pin widgets to inputs
24 */
25static const struct hda_verb alc861_threestack_ch2_init[] = {
26 /* set pin widget 1Ah (line in) for input */
27 { 0x0c, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x20 },
28 /* set pin widget 18h (mic1/2) for input, for mic also enable
29 * the vref
30 */
31 { 0x0d, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x24 },
32
33 { 0x15, AC_VERB_SET_AMP_GAIN_MUTE, 0xb00c },
34#if 0
35 { 0x15, AC_VERB_SET_AMP_GAIN_MUTE, (0x7000 | (0x01 << 8)) }, /*mic*/
36 { 0x15, AC_VERB_SET_AMP_GAIN_MUTE, (0x7000 | (0x02 << 8)) }, /*line-in*/
37#endif
38 { } /* end */
39};
40/*
41 * 6ch mode
42 * need to set the codec line out and mic 1 pin widgets to outputs
43 */
44static const struct hda_verb alc861_threestack_ch6_init[] = {
45 /* set pin widget 1Ah (line in) for output (Back Surround)*/
46 { 0x0c, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x40 },
47 /* set pin widget 18h (mic1) for output (CLFE)*/
48 { 0x0d, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x40 },
49
50 { 0x0c, AC_VERB_SET_CONNECT_SEL, 0x00 },
51 { 0x0d, AC_VERB_SET_CONNECT_SEL, 0x00 },
52
53 { 0x15, AC_VERB_SET_AMP_GAIN_MUTE, 0xb080 },
54#if 0
55 { 0x15, AC_VERB_SET_AMP_GAIN_MUTE, (0x7080 | (0x01 << 8)) }, /*mic*/
56 { 0x15, AC_VERB_SET_AMP_GAIN_MUTE, (0x7080 | (0x02 << 8)) }, /*line in*/
57#endif
58 { } /* end */
59};
60
61static const struct hda_channel_mode alc861_threestack_modes[2] = {
62 { 2, alc861_threestack_ch2_init },
63 { 6, alc861_threestack_ch6_init },
64};
1d045db9
TI
65
66/* Set mic1 and line-in as input and unmute the mixer */
67static const struct hda_verb alc861_asus_ch2_init[] = {
68 /* set pin widget 1Ah (line in) for input */
69 { 0x0c, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x20 },
70 /* set pin widget 18h (mic1/2) for input, for mic also enable
71 * the vref
72 */
73 { 0x0d, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x24 },
74
75 { 0x15, AC_VERB_SET_AMP_GAIN_MUTE, 0xb00c },
76#if 0
77 { 0x15, AC_VERB_SET_AMP_GAIN_MUTE, (0x7000 | (0x01 << 8)) }, /*mic*/
78 { 0x15, AC_VERB_SET_AMP_GAIN_MUTE, (0x7000 | (0x02 << 8)) }, /*line-in*/
79#endif
80 { } /* end */
81};
82/* Set mic1 nad line-in as output and mute mixer */
83static const struct hda_verb alc861_asus_ch6_init[] = {
84 /* set pin widget 1Ah (line in) for output (Back Surround)*/
85 { 0x0c, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x40 },
86 /* { 0x0c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE }, */
87 /* set pin widget 18h (mic1) for output (CLFE)*/
88 { 0x0d, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x40 },
89 /* { 0x0d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE }, */
90 { 0x0c, AC_VERB_SET_CONNECT_SEL, 0x00 },
91 { 0x0d, AC_VERB_SET_CONNECT_SEL, 0x00 },
92
93 { 0x15, AC_VERB_SET_AMP_GAIN_MUTE, 0xb080 },
94#if 0
95 { 0x15, AC_VERB_SET_AMP_GAIN_MUTE, (0x7080 | (0x01 << 8)) }, /*mic*/
96 { 0x15, AC_VERB_SET_AMP_GAIN_MUTE, (0x7080 | (0x02 << 8)) }, /*line in*/
97#endif
98 { } /* end */
99};
100
101static const struct hda_channel_mode alc861_asus_modes[2] = {
102 { 2, alc861_asus_ch2_init },
103 { 6, alc861_asus_ch6_init },
104};
105
106/* patch-ALC861 */
107
108static const struct snd_kcontrol_new alc861_base_mixer[] = {
109 /* output mixer control */
110 HDA_CODEC_MUTE("Front Playback Switch", 0x03, 0x0, HDA_OUTPUT),
111 HDA_CODEC_MUTE("Surround Playback Switch", 0x06, 0x0, HDA_OUTPUT),
112 HDA_CODEC_MUTE_MONO("Center Playback Switch", 0x05, 1, 0x0, HDA_OUTPUT),
113 HDA_CODEC_MUTE_MONO("LFE Playback Switch", 0x05, 2, 0x0, HDA_OUTPUT),
114 HDA_CODEC_MUTE("Side Playback Switch", 0x04, 0x0, HDA_OUTPUT),
115
116 /*Input mixer control */
117 /* HDA_CODEC_VOLUME("Input Playback Volume", 0x15, 0x0, HDA_OUTPUT),
118 HDA_CODEC_MUTE("Input Playback Switch", 0x15, 0x0, HDA_OUTPUT), */
119 HDA_CODEC_VOLUME("CD Playback Volume", 0x15, 0x0, HDA_INPUT),
120 HDA_CODEC_MUTE("CD Playback Switch", 0x15, 0x0, HDA_INPUT),
121 HDA_CODEC_VOLUME("Line Playback Volume", 0x15, 0x02, HDA_INPUT),
122 HDA_CODEC_MUTE("Line Playback Switch", 0x15, 0x02, HDA_INPUT),
123 HDA_CODEC_VOLUME("Mic Playback Volume", 0x15, 0x01, HDA_INPUT),
124 HDA_CODEC_MUTE("Mic Playback Switch", 0x15, 0x01, HDA_INPUT),
125 HDA_CODEC_MUTE("Front Mic Playback Switch", 0x10, 0x01, HDA_OUTPUT),
126 HDA_CODEC_MUTE("Headphone Playback Switch", 0x1a, 0x03, HDA_INPUT),
127
128 { } /* end */
129};
130
131static const struct snd_kcontrol_new alc861_3ST_mixer[] = {
132 /* output mixer control */
133 HDA_CODEC_MUTE("Front Playback Switch", 0x03, 0x0, HDA_OUTPUT),
134 HDA_CODEC_MUTE("Surround Playback Switch", 0x06, 0x0, HDA_OUTPUT),
135 HDA_CODEC_MUTE_MONO("Center Playback Switch", 0x05, 1, 0x0, HDA_OUTPUT),
136 HDA_CODEC_MUTE_MONO("LFE Playback Switch", 0x05, 2, 0x0, HDA_OUTPUT),
137 /*HDA_CODEC_MUTE("Side Playback Switch", 0x04, 0x0, HDA_OUTPUT), */
138
139 /* Input mixer control */
140 /* HDA_CODEC_VOLUME("Input Playback Volume", 0x15, 0x0, HDA_OUTPUT),
141 HDA_CODEC_MUTE("Input Playback Switch", 0x15, 0x0, HDA_OUTPUT), */
142 HDA_CODEC_VOLUME("CD Playback Volume", 0x15, 0x0, HDA_INPUT),
143 HDA_CODEC_MUTE("CD Playback Switch", 0x15, 0x0, HDA_INPUT),
144 HDA_CODEC_VOLUME("Line Playback Volume", 0x15, 0x02, HDA_INPUT),
145 HDA_CODEC_MUTE("Line Playback Switch", 0x15, 0x02, HDA_INPUT),
146 HDA_CODEC_VOLUME("Mic Playback Volume", 0x15, 0x01, HDA_INPUT),
147 HDA_CODEC_MUTE("Mic Playback Switch", 0x15, 0x01, HDA_INPUT),
148 HDA_CODEC_MUTE("Front Mic Playback Switch", 0x10, 0x01, HDA_OUTPUT),
149 HDA_CODEC_MUTE("Headphone Playback Switch", 0x1a, 0x03, HDA_INPUT),
150
151 {
152 .iface = SNDRV_CTL_ELEM_IFACE_MIXER,
153 .name = "Channel Mode",
154 .info = alc_ch_mode_info,
155 .get = alc_ch_mode_get,
156 .put = alc_ch_mode_put,
157 .private_value = ARRAY_SIZE(alc861_threestack_modes),
158 },
159 { } /* end */
160};
161
1d045db9
TI
162/*
163 * generic initialization of ADC, input mixers and output mixers
164 */
165static const struct hda_verb alc861_base_init_verbs[] = {
166 /*
167 * Unmute ADC0 and set the default input to mic-in
168 */
169 /* port-A for surround (rear panel) */
170 { 0x0e, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x40 },
171 { 0x0e, AC_VERB_SET_CONNECT_SEL, 0x00 },
172 /* port-B for mic-in (rear panel) with vref */
173 { 0x0d, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x24 },
174 /* port-C for line-in (rear panel) */
175 { 0x0c, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x20 },
176 /* port-D for Front */
177 { 0x0b, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x40 },
178 { 0x0b, AC_VERB_SET_CONNECT_SEL, 0x00 },
179 /* port-E for HP out (front panel) */
180 { 0x0f, AC_VERB_SET_PIN_WIDGET_CONTROL, 0xc0 },
181 /* route front PCM to HP */
182 { 0x0f, AC_VERB_SET_CONNECT_SEL, 0x00 },
183 /* port-F for mic-in (front panel) with vref */
184 { 0x10, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x24 },
185 /* port-G for CLFE (rear panel) */
186 { 0x1f, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x40 },
187 { 0x1f, AC_VERB_SET_CONNECT_SEL, 0x00 },
188 /* port-H for side (rear panel) */
189 { 0x20, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x40 },
190 { 0x20, AC_VERB_SET_CONNECT_SEL, 0x00 },
191 /* CD-in */
192 { 0x11, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x20 },
193 /* route front mic to ADC1*/
194 {0x08, AC_VERB_SET_CONNECT_SEL, 0x00},
195 {0x08, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
196
197 /* Unmute DAC0~3 & spdif out*/
198 {0x03, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
199 {0x04, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
200 {0x05, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
201 {0x06, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
202 {0x07, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
203
204 /* Unmute Mixer 14 (mic) 1c (Line in)*/
205 {0x014, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
206 {0x014, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
207 {0x01c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
208 {0x01c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
209
210 /* Unmute Stereo Mixer 15 */
211 {0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
212 {0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
213 {0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(2)},
214 {0x15, AC_VERB_SET_AMP_GAIN_MUTE, 0xb00c}, /* Output 0~12 step */
215
216 {0x16, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
217 {0x16, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
218 {0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
219 {0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
220 {0x18, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
221 {0x18, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
222 {0x19, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
223 {0x19, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
224 /* hp used DAC 3 (Front) */
225 {0x1a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(3)},
226 {0x1a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(2)},
227
228 { }
229};
230
231static const struct hda_verb alc861_threestack_init_verbs[] = {
232 /*
233 * Unmute ADC0 and set the default input to mic-in
234 */
235 /* port-A for surround (rear panel) */
236 { 0x0e, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x00 },
237 /* port-B for mic-in (rear panel) with vref */
238 { 0x0d, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x24 },
239 /* port-C for line-in (rear panel) */
240 { 0x0c, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x20 },
241 /* port-D for Front */
242 { 0x0b, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x40 },
243 { 0x0b, AC_VERB_SET_CONNECT_SEL, 0x00 },
244 /* port-E for HP out (front panel) */
245 { 0x0f, AC_VERB_SET_PIN_WIDGET_CONTROL, 0xc0 },
246 /* route front PCM to HP */
247 { 0x0f, AC_VERB_SET_CONNECT_SEL, 0x00 },
248 /* port-F for mic-in (front panel) with vref */
249 { 0x10, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x24 },
250 /* port-G for CLFE (rear panel) */
251 { 0x1f, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x00 },
252 /* port-H for side (rear panel) */
253 { 0x20, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x00 },
254 /* CD-in */
255 { 0x11, AC_VERB_SET_PIN_WIDGET_CONTROL, 0x20 },
256 /* route front mic to ADC1*/
257 {0x08, AC_VERB_SET_CONNECT_SEL, 0x00},
258 {0x08, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
259 /* Unmute DAC0~3 & spdif out*/
260 {0x03, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
261 {0x04, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
262 {0x05, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
263 {0x06, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
264 {0x07, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
265
266 /* Unmute Mixer 14 (mic) 1c (Line in)*/
267 {0x014, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
268 {0x014, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
269 {0x01c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
270 {0x01c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
271
272 /* Unmute Stereo Mixer 15 */
273 {0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
274 {0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
275 {0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(2)},
276 {0x15, AC_VERB_SET_AMP_GAIN_MUTE, 0xb00c}, /* Output 0~12 step */
277
278 {0x16, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
279 {0x16, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
280 {0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
281 {0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
282 {0x18, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
283 {0x18, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
284 {0x19, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
285 {0x19, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
286 /* hp used DAC 3 (Front) */
287 {0x1a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(3)},
288 {0x1a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(2)},
289 { }
290};
291
1d045db9
TI
292#define ALC861_DIGOUT_NID 0x07
293
294static const struct hda_channel_mode alc861_8ch_modes[1] = {
295 { 8, NULL }
296};
297
298static const hda_nid_t alc861_dac_nids[4] = {
299 /* front, surround, clfe, side */
300 0x03, 0x06, 0x05, 0x04
301};
302
303static const hda_nid_t alc660_dac_nids[3] = {
304 /* front, clfe, surround */
305 0x03, 0x05, 0x06
306};
307
308static const hda_nid_t alc861_adc_nids[1] = {
309 /* ADC0-2 */
310 0x08,
311};
312
313static const struct hda_input_mux alc861_capture_source = {
314 .num_items = 5,
315 .items = {
316 { "Mic", 0x0 },
317 { "Front Mic", 0x3 },
318 { "Line", 0x1 },
319 { "CD", 0x4 },
320 { "Mixer", 0x5 },
321 },
322};
323
324/*
325 * configuration and preset
326 */
327static const char * const alc861_models[ALC861_MODEL_LAST] = {
328 [ALC861_3ST] = "3stack",
329 [ALC660_3ST] = "3stack-660",
330 [ALC861_3ST_DIG] = "3stack-dig",
331 [ALC861_6ST_DIG] = "6stack-dig",
1d045db9
TI
332 [ALC861_AUTO] = "auto",
333};
334
335static const struct snd_pci_quirk alc861_cfg_tbl[] = {
336 SND_PCI_QUIRK(0x1043, 0x1205, "ASUS W7J", ALC861_3ST),
1d045db9 337 SND_PCI_QUIRK(0x1043, 0x81cb, "ASUS P1-AH2", ALC861_3ST_DIG),
1d045db9
TI
338 SND_PCI_QUIRK(0x1462, 0x7254, "HP dx2200 (MSI MS-7254)", ALC861_3ST),
339 SND_PCI_QUIRK(0x1462, 0x7297, "HP dx2250 (MSI MS-7297)", ALC861_3ST),
1d045db9
TI
340 SND_PCI_QUIRK(0x1849, 0x0660, "Asrock 939SLI32", ALC660_3ST),
341 SND_PCI_QUIRK(0x8086, 0xd600, "Intel", ALC861_3ST),
342 {}
343};
344
345static const struct alc_config_preset alc861_presets[] = {
346 [ALC861_3ST] = {
347 .mixers = { alc861_3ST_mixer },
348 .init_verbs = { alc861_threestack_init_verbs },
349 .num_dacs = ARRAY_SIZE(alc861_dac_nids),
350 .dac_nids = alc861_dac_nids,
351 .num_channel_mode = ARRAY_SIZE(alc861_threestack_modes),
352 .channel_mode = alc861_threestack_modes,
353 .need_dac_fix = 1,
354 .num_adc_nids = ARRAY_SIZE(alc861_adc_nids),
355 .adc_nids = alc861_adc_nids,
356 .input_mux = &alc861_capture_source,
357 },
358 [ALC861_3ST_DIG] = {
359 .mixers = { alc861_base_mixer },
360 .init_verbs = { alc861_threestack_init_verbs },
361 .num_dacs = ARRAY_SIZE(alc861_dac_nids),
362 .dac_nids = alc861_dac_nids,
363 .dig_out_nid = ALC861_DIGOUT_NID,
364 .num_channel_mode = ARRAY_SIZE(alc861_threestack_modes),
365 .channel_mode = alc861_threestack_modes,
366 .need_dac_fix = 1,
367 .num_adc_nids = ARRAY_SIZE(alc861_adc_nids),
368 .adc_nids = alc861_adc_nids,
369 .input_mux = &alc861_capture_source,
370 },
371 [ALC861_6ST_DIG] = {
372 .mixers = { alc861_base_mixer },
373 .init_verbs = { alc861_base_init_verbs },
374 .num_dacs = ARRAY_SIZE(alc861_dac_nids),
375 .dac_nids = alc861_dac_nids,
376 .dig_out_nid = ALC861_DIGOUT_NID,
377 .num_channel_mode = ARRAY_SIZE(alc861_8ch_modes),
378 .channel_mode = alc861_8ch_modes,
379 .num_adc_nids = ARRAY_SIZE(alc861_adc_nids),
380 .adc_nids = alc861_adc_nids,
381 .input_mux = &alc861_capture_source,
382 },
383 [ALC660_3ST] = {
384 .mixers = { alc861_3ST_mixer },
385 .init_verbs = { alc861_threestack_init_verbs },
386 .num_dacs = ARRAY_SIZE(alc660_dac_nids),
387 .dac_nids = alc660_dac_nids,
388 .num_channel_mode = ARRAY_SIZE(alc861_threestack_modes),
389 .channel_mode = alc861_threestack_modes,
390 .need_dac_fix = 1,
391 .num_adc_nids = ARRAY_SIZE(alc861_adc_nids),
392 .adc_nids = alc861_adc_nids,
393 .input_mux = &alc861_capture_source,
394 },
1d045db9
TI
395};
396