Lines Matching +full:0 +full:x1b
47 HDA_CODEC_VOLUME("Beep Playback Volume", 0, 0, HDA_OUTPUT),
48 HDA_CODEC_MUTE_BEEP("Beep Playback Switch", 0, 0, HDA_OUTPUT),
65 return 0;
74 err = snd_hda_ctl_add(codec, 0, kctl);
75 if (err < 0)
78 return 0;
81 #define create_beep_ctls(codec) 0
88 snd_hda_codec_write(codec, front, 0, AC_VERB_SET_EAPD_BTLENABLE,
89 !codec->inv_eapd ? 0x00 : 0x02);
91 snd_hda_codec_write(codec, hp, 0, AC_VERB_SET_EAPD_BTLENABLE,
92 !codec->inv_eapd ? 0x00 : 0x02);
99 case 0x11d41882:
100 case 0x11d4882a:
101 case 0x11d41884:
102 case 0x11d41984:
103 case 0x11d41883:
104 case 0x11d4184a:
105 case 0x11d4194a:
106 case 0x11d4194b:
107 case 0x11d41988:
108 case 0x11d4198b:
109 case 0x11d4989a:
110 case 0x11d4989b:
111 ad198x_power_eapd_write(codec, 0x12, 0x11);
113 case 0x11d41981:
114 case 0x11d41983:
115 ad198x_power_eapd_write(codec, 0x05, 0x06);
117 case 0x11d41986:
118 ad198x_power_eapd_write(codec, 0x1b, 0x1a);
127 return 0;
140 snd_hda_codec_write_cache(codec, spec->eapd_nid, 0,
142 enabled ? 0x02 : 0x00);
154 if (err < 0)
157 if (err < 0)
159 return 0;
176 err = snd_hda_parse_pin_defcfg(codec, cfg, NULL, 0);
177 if (err < 0)
180 if (err < 0)
183 return 0;
199 return 0;
216 spec->eapd_nid = 0x1b;
227 codec->inv_eapd = 0;
229 spec->eapd_nid = 0x1b;
265 { 0x1b, 0x90170110 }, /* speaker */
266 { 0x1d, 0x90a7013e }, /* int mic */
273 { 0x1b, 0x90170110 }, /* speaker */
274 { 0x1d, 0x90a7013e }, /* int mic */
275 { 0x20, 0x411111f0 }, /* N/A */
276 { 0x24, 0x411111f0 }, /* N/A */
283 { 0x1a, 0x02214021 }, /* headphone */
284 { 0x1b, 0x01014011 }, /* front */
285 { 0x1c, 0x01813030 }, /* line-in */
286 { 0x1d, 0x01a19020 }, /* rear mic */
287 { 0x1e, 0x411111f0 }, /* N/A */
288 { 0x1f, 0x02a190f0 }, /* mic */
289 { 0x20, 0x411111f0 }, /* N/A */
296 { 0x1a, 0x02214021 }, /* headphone */
297 { 0x1b, 0x90170110 }, /* speaker */
298 { 0x1c, 0x411111f0 }, /* N/A */
299 { 0x1d, 0x411111f0 }, /* N/A */
300 { 0x1e, 0x411111f0 }, /* N/A */
301 { 0x1f, 0x02a191f0 }, /* mic */
302 { 0x20, 0x411111f0 }, /* N/A */
309 { 0x1d, 0x90a7013e }, /* int mic */
326 { 0x1a, 0x0421402f }, /* headphone */
327 { 0x1b, 0x90170110 }, /* speaker */
328 { 0x1c, 0x411111f0 }, /* N/A */
329 { 0x1d, 0x90a70130 }, /* int mic */
330 { 0x1e, 0x411111f0 }, /* N/A */
331 { 0x1f, 0x04a19040 }, /* mic */
332 { 0x20, 0x411111f0 }, /* N/A */
333 { 0x21, 0x411111f0 }, /* N/A */
334 { 0x22, 0x411111f0 }, /* N/A */
335 { 0x23, 0x411111f0 }, /* N/A */
336 { 0x24, 0x411111f0 }, /* N/A */
337 { 0x25, 0x411111f0 }, /* N/A */
346 SND_PCI_QUIRK(0x103c, 0x30af, "HP B2800", AD1986A_FIXUP_LAPTOP_IMIC),
347 SND_PCI_QUIRK(0x1043, 0x1153, "ASUS M9V", AD1986A_FIXUP_LAPTOP_IMIC),
348 SND_PCI_QUIRK(0x1043, 0x1443, "ASUS Z99He", AD1986A_FIXUP_EAPD),
349 SND_PCI_QUIRK(0x1043, 0x1447, "ASUS A8JN", AD1986A_FIXUP_EAPD),
350 SND_PCI_QUIRK_MASK(0x1043, 0xff00, 0x8100, "ASUS P5", AD1986A_FIXUP_3STACK),
351 SND_PCI_QUIRK_MASK(0x1043, 0xff00, 0x8200, "ASUS M2", AD1986A_FIXUP_3STACK),
352 SND_PCI_QUIRK(0x10de, 0xcb84, "ASUS A8N-VM", AD1986A_FIXUP_3STACK),
353 SND_PCI_QUIRK(0x1179, 0xff40, "Toshiba Satellite L40", AD1986A_FIXUP_EAPD),
354 SND_PCI_QUIRK(0x144d, 0xc01e, "FSC V2060", AD1986A_FIXUP_LAPTOP),
355 SND_PCI_QUIRK_MASK(0x144d, 0xff00, 0xc000, "Samsung", AD1986A_FIXUP_SAMSUNG),
356 SND_PCI_QUIRK(0x144d, 0xc027, "Samsung Q1", AD1986A_FIXUP_ULTRA),
357 SND_PCI_QUIRK(0x1631, 0xc022, "PackardBell EasyNote MX65", AD1986A_FIXUP_EASYNOTE),
358 SND_PCI_QUIRK(0x17aa, 0x2066, "Lenovo N100", AD1986A_FIXUP_INV_JACK_DETECT),
359 SND_PCI_QUIRK(0x17aa, 0x1011, "Lenovo M55", AD1986A_FIXUP_3STACK),
360 SND_PCI_QUIRK(0x17aa, 0x1017, "Lenovo A60", AD1986A_FIXUP_3STACK),
380 0x1a, 0x03,
381 0x1b, 0x03,
382 0x1c, 0x04,
383 0x1d, 0x05,
384 0x1e, 0x03,
385 0
391 spec->gen.mixer_nid = 0x07;
392 spec->gen.beep_nid = 0x19;
393 set_beep_amp(spec, 0x18, 0, HDA_OUTPUT);
413 if (err < 0)
418 return 0;
452 ucontrol->value.enumerated.item[0] = spec->cur_smux;
453 return 0;
461 unsigned int val = ucontrol->value.enumerated.item[0];
468 return 0;
470 snd_hda_codec_write_cache(codec, dig_out, 0,
490 return 0;
493 return 0;
497 return 0;
502 static const hda_nid_t conn_0c[] = { 0x08 };
503 static const hda_nid_t conn_0d[] = { 0x09 };
507 spec->gen.mixer_nid = 0x0e;
508 spec->gen.beep_nid = 0x10;
509 set_beep_amp(spec, 0x10, 0, HDA_OUTPUT);
512 snd_hda_override_conn_list(codec, 0x0c, ARRAY_SIZE(conn_0c), conn_0c);
513 snd_hda_override_conn_list(codec, 0x0d, ARRAY_SIZE(conn_0d), conn_0d);
516 if (err < 0)
519 if (err < 0)
521 return 0;
536 spec->eapd_nid = 0x05;
540 /* set the upper-limit for mixer amp to 0dB for avoiding the possible
547 snd_hda_override_amp_caps(codec, 0x11, HDA_INPUT,
548 (0x17 << AC_AMPCAP_OFFSET_SHIFT) |
549 (0x17 << AC_AMPCAP_NUM_STEPS_SHIFT) |
550 (0x05 << AC_AMPCAP_STEP_SIZE_SHIFT) |
573 SND_PCI_QUIRK_VENDOR(0x1014, "Lenovo", AD1981_FIXUP_AMP_OVERRIDE),
574 SND_PCI_QUIRK_VENDOR(0x103c, "HP", AD1981_FIXUP_HP_EAPD),
575 SND_PCI_QUIRK_VENDOR(0x17aa, "Lenovo", AD1981_FIXUP_AMP_OVERRIDE),
577 SND_PCI_QUIRK(0x30b0, 0x103c, "HP nx6320", AD1981_FIXUP_HP_EAPD),
586 spec->gen.mixer_nid = 0x0e;
587 spec->gen.beep_nid = 0x10;
588 set_beep_amp(spec, 0x0d, 0, HDA_OUTPUT);
594 if (err < 0)
597 if (err < 0)
602 return 0;
612 * port-A 0x11 (mute/hp) <- 0x22 <- 0x37 <- 03/04/06
613 * port-B 0x14 (mute/hp) <- 0x2b <- 0x30 <- 03/04/06
614 * port-C 0x15 (mute) <- 0x2c <- 0x31 <- 05/0a
615 * port-D 0x12 (mute/hp) <- 0x29 <- 04
616 * port-E 0x17 (mute/hp) <- 0x26 <- 0x32 <- 05/0a
617 * port-F 0x16 (mute) <- 0x2a <- 06
618 * port-G 0x24 (mute) <- 0x27 <- 05
619 * port-H 0x25 (mute) <- 0x28 <- 0a
620 * mono 0x13 (mute/amp)<- 0x1e <- 0x36 <- 03/04/06
622 * DAC0 = 03h, DAC1 = 04h, DAC2 = 05h, DAC3 = 06h, DAC4 = 0ah
628 * port-A 0x11 -> 0x38 -> mix 2, ADC 0
629 * port-B 0x14 -> 0x39 -> mix 0, ADC 1
630 * port-C 0x15 -> 0x3a -> 33:0 - mix 1, ADC 2
631 * port-D 0x12 -> 0x3d -> mix 3, ADC 8
632 * port-E 0x17 -> 0x3c -> 34:0 - mix 4, ADC 4
633 * port-F 0x16 -> 0x3b -> mix 5, ADC 3
634 * port-G 0x24 -> N/A -> 33:1 - mix 1, 34:1 - mix 4, ADC 6
635 * port-H 0x25 -> N/A -> 33:2 - mix 1, 34:2 - mix 4, ADC 7
639 * 6stack - front/surr/CLFE/side/opt DACs - 04/06/05/0a/03
640 * 3stack - front/surr/CLFE/opt DACs - 04/05/0a/03
642 * Inputs of Analog Mix (0x20)
643 * 0:Port-B (front mic)
653 * 0:Port-A
712 ucontrol->value.enumerated.item[0] = spec->cur_smux;
713 return 0;
721 unsigned int val = ucontrol->value.enumerated.item[0];
728 return 0;
756 if (err < 0)
759 return 0;
761 return 0;
763 for (i = 0; i < 4; i++) {
770 return 0;
783 .path = { 0x02, 0x1d, 0x1b },
784 .idx = { 0, 0, 0 },
785 .multi = { 0, 0, 0 },
789 .path = { 0x08, 0x0b, 0x1d, 0x1b },
790 .idx = { 0, 0, 1, 0 },
791 .multi = { 0, 1, 0, 0 },
795 .path = { 0x09, 0x0b, 0x1d, 0x1b },
796 .idx = { 0, 1, 1, 0 },
797 .multi = { 0, 1, 0, 0 },
801 .path = { 0x0f, 0x0b, 0x1d, 0x1b },
802 .idx = { 0, 2, 1, 0 },
803 .multi = { 0, 1, 0, 0 },
809 get_wcaps_type(get_wcaps(codec, 0x1d)) != AC_WID_AUD_MIX)
810 return 0;
812 num_conns = snd_hda_get_num_conns(codec, 0x0b) + 1;
814 return 0;
817 for (i = 0; i < num_conns; i++) {
830 return 0;
844 { 0x11, 0x02214130 }, /* front-hp */
845 { 0x12, 0x01014010 }, /* line-out */
846 { 0x14, 0x02a19122 }, /* front-mic */
847 { 0x15, 0x01813021 }, /* line-in */
848 { 0x16, 0x01011012 }, /* line-out */
849 { 0x17, 0x01a19020 }, /* mic */
850 { 0x1b, 0x0145f1f0 }, /* SPDIF */
851 { 0x24, 0x01016011 }, /* line-out */
852 { 0x25, 0x01012013 }, /* line-out */
868 spec->gen.mixer_nid = 0x20;
869 spec->gen.mixer_merge_nid = 0x21;
870 spec->gen.beep_nid = 0x10;
871 set_beep_amp(spec, 0x10, 0, HDA_OUTPUT);
877 if (err < 0)
880 if (err < 0)
885 return 0;
903 * port-B (0x14) - front mic-in
904 * port-E (0x1c) - rear mic-in
905 * port-F (0x16) - CD / ext out
906 * port-C (0x15) - rear line-in
907 * port-D (0x12) - rear line-out
908 * port-A (0x11) - front hp-out
915 /* set the upper-limit for mixer amp to 0dB for avoiding the possible
922 snd_hda_override_amp_caps(codec, 0x20, HDA_INPUT,
923 (0x17 << AC_AMPCAP_OFFSET_SHIFT) |
924 (0x17 << AC_AMPCAP_NUM_STEPS_SHIFT) |
925 (0x05 << AC_AMPCAP_STEP_SIZE_SHIFT) |
937 snd_hda_codec_write_cache(codec, 0x01, 0,
939 enabled ? 0x00 : 0x02);
951 snd_hda_codec_write_cache(codec, 0x01, 0,
952 AC_VERB_SET_GPIO_MASK, 0x02);
953 snd_hda_codec_write_cache(codec, 0x01, 0,
954 AC_VERB_SET_GPIO_DIRECTION, 0x02);
955 snd_hda_codec_write_cache(codec, 0x01, 0,
956 AC_VERB_SET_GPIO_DATA, 0x02);
960 spec->eapd_nid = spec->gen.autocfg.line_out_pins[0];
962 spec->eapd_nid = spec->gen.autocfg.speaker_pins[0];
975 spec->eapd_nid = 0x12;
977 spec->beep_amp = HDA_COMPOSE_AMP_VAL(0x20, 3, 3, HDA_INPUT);
978 spec->gen.beep_nid = 0; /* no digital beep */
984 {0x01, AC_VERB_SET_COEF_INDEX, 0x13f7},
985 {0x01, AC_VERB_SET_PROC_COEF, 0x08},
1027 SND_PCI_QUIRK(0x103c, 0x2a82, "HP Touchsmart", AD1884_FIXUP_HP_TOUCHSMART),
1028 SND_PCI_QUIRK_VENDOR(0x103c, "HP", AD1884_FIXUP_HP_EAPD),
1029 SND_PCI_QUIRK_VENDOR(0x17aa, "Lenovo Thinkpad", AD1884_FIXUP_THINKPAD),
1039 spec->gen.mixer_nid = 0x20;
1040 spec->gen.mixer_merge_nid = 0x21;
1041 spec->gen.beep_nid = 0x10;
1042 set_beep_amp(spec, 0x10, 0, HDA_OUTPUT);
1048 if (err < 0)
1051 if (err < 0)
1056 return 0;
1076 spec->gen.mixer_nid = 0x20;
1077 spec->gen.mixer_merge_nid = 0x21;
1078 spec->gen.beep_nid = 0x10;
1079 set_beep_amp(spec, 0x10, 0, HDA_OUTPUT);
1081 if (err < 0)
1084 if (err < 0)
1086 return 0;
1099 if (err < 0)
1128 if (err < 0) {
1133 return 0;
1149 HDA_CODEC_ID_MODEL(0x11d4184a, "AD1884A", MODEL_AD1884),
1150 HDA_CODEC_ID_MODEL(0x11d41882, "AD1882", MODEL_AD1882),
1151 HDA_CODEC_ID_MODEL(0x11d41883, "AD1883", MODEL_AD1884),
1152 HDA_CODEC_ID_MODEL(0x11d41884, "AD1884", MODEL_AD1884),
1153 HDA_CODEC_ID_MODEL(0x11d4194a, "AD1984A", MODEL_AD1884),
1154 HDA_CODEC_ID_MODEL(0x11d4194b, "AD1984B", MODEL_AD1884),
1155 HDA_CODEC_ID_MODEL(0x11d41981, "AD1981", MODEL_AD1981),
1156 HDA_CODEC_ID_MODEL(0x11d41983, "AD1983", MODEL_AD1983),
1157 HDA_CODEC_ID_MODEL(0x11d41984, "AD1984", MODEL_AD1884),
1158 HDA_CODEC_ID_MODEL(0x11d41986, "AD1986A", MODEL_AD1986A),
1159 HDA_CODEC_ID_MODEL(0x11d41988, "AD1988", MODEL_AD1988),
1160 HDA_CODEC_ID_MODEL(0x11d4198b, "AD1988B", MODEL_AD1988),
1161 HDA_CODEC_ID_MODEL(0x11d4882a, "AD1882A", MODEL_AD1882),
1162 HDA_CODEC_ID_MODEL(0x11d4989a, "AD1989A", MODEL_AD1988),
1163 HDA_CODEC_ID_MODEL(0x11d4989b, "AD1989B", MODEL_AD1988),