diff options
Diffstat (limited to 'sound/pci/hda/patch_realtek.c')
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 111 |
1 files changed, 101 insertions, 10 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index f35e58a2d921..b8a0d3e79272 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -188,6 +188,8 @@ enum { | |||
188 | ALC663_ASUS_MODE4, | 188 | ALC663_ASUS_MODE4, |
189 | ALC663_ASUS_MODE5, | 189 | ALC663_ASUS_MODE5, |
190 | ALC663_ASUS_MODE6, | 190 | ALC663_ASUS_MODE6, |
191 | ALC272_DELL, | ||
192 | ALC272_DELL_ZM1, | ||
191 | ALC662_AUTO, | 193 | ALC662_AUTO, |
192 | ALC662_MODEL_LAST, | 194 | ALC662_MODEL_LAST, |
193 | }; | 195 | }; |
@@ -8742,10 +8744,9 @@ static struct snd_pci_quirk alc883_cfg_tbl[] = { | |||
8742 | SND_PCI_QUIRK_VENDOR(0x1558, "Clevo laptop", ALC883_LAPTOP_EAPD), | 8744 | SND_PCI_QUIRK_VENDOR(0x1558, "Clevo laptop", ALC883_LAPTOP_EAPD), |
8743 | SND_PCI_QUIRK(0x15d9, 0x8780, "Supermicro PDSBA", ALC883_3ST_6ch), | 8745 | SND_PCI_QUIRK(0x15d9, 0x8780, "Supermicro PDSBA", ALC883_3ST_6ch), |
8744 | SND_PCI_QUIRK(0x161f, 0x2054, "Medion laptop", ALC883_MEDION), | 8746 | SND_PCI_QUIRK(0x161f, 0x2054, "Medion laptop", ALC883_MEDION), |
8745 | SND_PCI_QUIRK(0x1734, 0x1107, "FSC AMILO Xi2550", | 8747 | SND_PCI_QUIRK_MASK(0x1734, 0xfff0, 0x1100, "FSC AMILO Xi/Pi25xx", |
8746 | ALC883_FUJITSU_PI2515), | 8748 | ALC883_FUJITSU_PI2515), |
8747 | SND_PCI_QUIRK(0x1734, 0x1108, "Fujitsu AMILO Pi2515", ALC883_FUJITSU_PI2515), | 8749 | SND_PCI_QUIRK_MASK(0x1734, 0xfff0, 0x1130, "Fujitsu AMILO Xa35xx", |
8748 | SND_PCI_QUIRK(0x1734, 0x113d, "Fujitsu AMILO Xa3530", | ||
8749 | ALC888_FUJITSU_XA3530), | 8750 | ALC888_FUJITSU_XA3530), |
8750 | SND_PCI_QUIRK(0x17aa, 0x101e, "Lenovo 101e", ALC883_LENOVO_101E_2ch), | 8751 | SND_PCI_QUIRK(0x17aa, 0x101e, "Lenovo 101e", ALC883_LENOVO_101E_2ch), |
8751 | SND_PCI_QUIRK(0x17aa, 0x2085, "Lenovo NB0763", ALC883_LENOVO_NB0763), | 8752 | SND_PCI_QUIRK(0x17aa, 0x2085, "Lenovo NB0763", ALC883_LENOVO_NB0763), |
@@ -12977,10 +12978,17 @@ static struct snd_pci_quirk alc269_cfg_tbl[] = { | |||
12977 | SND_PCI_QUIRK(0x17aa, 0x3bf8, "Quanta FL1", ALC269_QUANTA_FL1), | 12978 | SND_PCI_QUIRK(0x17aa, 0x3bf8, "Quanta FL1", ALC269_QUANTA_FL1), |
12978 | SND_PCI_QUIRK(0x1043, 0x8330, "ASUS Eeepc P703 P900A", | 12979 | SND_PCI_QUIRK(0x1043, 0x8330, "ASUS Eeepc P703 P900A", |
12979 | ALC269_ASUS_EEEPC_P703), | 12980 | ALC269_ASUS_EEEPC_P703), |
12981 | SND_PCI_QUIRK(0x1043, 0x1883, "ASUS F81Se", ALC269_ASUS_EEEPC_P703), | ||
12982 | SND_PCI_QUIRK(0x1043, 0x16a3, "ASUS F5Q", ALC269_ASUS_EEEPC_P703), | ||
12983 | SND_PCI_QUIRK(0x1043, 0x1723, "ASUS P80", ALC269_ASUS_EEEPC_P703), | ||
12984 | SND_PCI_QUIRK(0x1043, 0x1773, "ASUS U20A", ALC269_ASUS_EEEPC_P703), | ||
12985 | SND_PCI_QUIRK(0x1043, 0x1743, "ASUS U80", ALC269_ASUS_EEEPC_P703), | ||
12986 | SND_PCI_QUIRK(0x1043, 0x1653, "ASUS U50", ALC269_ASUS_EEEPC_P703), | ||
12980 | SND_PCI_QUIRK(0x1043, 0x831a, "ASUS Eeepc P901", | 12987 | SND_PCI_QUIRK(0x1043, 0x831a, "ASUS Eeepc P901", |
12981 | ALC269_ASUS_EEEPC_P901), | 12988 | ALC269_ASUS_EEEPC_P901), |
12982 | SND_PCI_QUIRK(0x1043, 0x834a, "ASUS Eeepc S101", | 12989 | SND_PCI_QUIRK(0x1043, 0x834a, "ASUS Eeepc S101", |
12983 | ALC269_ASUS_EEEPC_P901), | 12990 | ALC269_ASUS_EEEPC_P901), |
12991 | SND_PCI_QUIRK(0x1043, 0x16e3, "ASUS UX50", ALC269_ASUS_EEEPC_P901), | ||
12984 | SND_PCI_QUIRK(0x1734, 0x115d, "FSC Amilo", ALC269_FUJITSU), | 12992 | SND_PCI_QUIRK(0x1734, 0x115d, "FSC Amilo", ALC269_FUJITSU), |
12985 | SND_PCI_QUIRK(0x10cf, 0x1475, "Lifebook ICH9M-based", ALC269_LIFEBOOK), | 12993 | SND_PCI_QUIRK(0x10cf, 0x1475, "Lifebook ICH9M-based", ALC269_LIFEBOOK), |
12986 | {} | 12994 | {} |
@@ -15211,12 +15219,23 @@ static hda_nid_t alc662_dac_nids[4] = { | |||
15211 | 0x02, 0x03, 0x04 | 15219 | 0x02, 0x03, 0x04 |
15212 | }; | 15220 | }; |
15213 | 15221 | ||
15222 | static hda_nid_t alc272_dac_nids[2] = { | ||
15223 | 0x02, 0x03 | ||
15224 | }; | ||
15225 | |||
15214 | static hda_nid_t alc662_adc_nids[1] = { | 15226 | static hda_nid_t alc662_adc_nids[1] = { |
15215 | /* ADC1-2 */ | 15227 | /* ADC1-2 */ |
15216 | 0x09, | 15228 | 0x09, |
15217 | }; | 15229 | }; |
15218 | 15230 | ||
15231 | static hda_nid_t alc272_adc_nids[1] = { | ||
15232 | /* ADC1-2 */ | ||
15233 | 0x08, | ||
15234 | }; | ||
15235 | |||
15219 | static hda_nid_t alc662_capsrc_nids[1] = { 0x22 }; | 15236 | static hda_nid_t alc662_capsrc_nids[1] = { 0x22 }; |
15237 | static hda_nid_t alc272_capsrc_nids[1] = { 0x23 }; | ||
15238 | |||
15220 | 15239 | ||
15221 | /* input MUX */ | 15240 | /* input MUX */ |
15222 | /* FIXME: should be a matrix-type input source selection */ | 15241 | /* FIXME: should be a matrix-type input source selection */ |
@@ -15642,14 +15661,7 @@ static struct hda_verb alc662_init_verbs[] = { | |||
15642 | /* Mixer elements: 0x18, 19, 1a, 1b, 1c, 1d, 14, 15, 16, 17, 0b */ | 15661 | /* Mixer elements: 0x18, 19, 1a, 1b, 1c, 1d, 14, 15, 16, 17, 0b */ |
15643 | /* Input mixer */ | 15662 | /* Input mixer */ |
15644 | {0x22, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)}, | 15663 | {0x22, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)}, |
15645 | {0x22, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)}, | ||
15646 | {0x22, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(2)}, | ||
15647 | {0x22, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(4)}, | ||
15648 | |||
15649 | {0x23, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)}, | 15664 | {0x23, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)}, |
15650 | {0x23, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)}, | ||
15651 | {0x23, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(2)}, | ||
15652 | {0x23, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(4)}, | ||
15653 | 15665 | ||
15654 | /* always trun on EAPD */ | 15666 | /* always trun on EAPD */ |
15655 | {0x14, AC_VERB_SET_EAPD_BTLENABLE, 2}, | 15667 | {0x14, AC_VERB_SET_EAPD_BTLENABLE, 2}, |
@@ -15844,12 +15856,48 @@ static struct hda_verb alc662_ecs_init_verbs[] = { | |||
15844 | {} | 15856 | {} |
15845 | }; | 15857 | }; |
15846 | 15858 | ||
15859 | static struct hda_verb alc272_dell_zm1_init_verbs[] = { | ||
15860 | {0x12, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN}, | ||
15861 | {0x13, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN}, | ||
15862 | {0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN}, | ||
15863 | {0x16, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN}, | ||
15864 | {0x21, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP}, | ||
15865 | {0x21, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE}, | ||
15866 | {0x21, AC_VERB_SET_CONNECT_SEL, 0x01}, /* Headphone */ | ||
15867 | {0x22, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)}, | ||
15868 | {0x22, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(9)}, | ||
15869 | {0x18, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | ALC880_MIC_EVENT}, | ||
15870 | {0x21, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | ALC880_HP_EVENT}, | ||
15871 | {} | ||
15872 | }; | ||
15873 | |||
15874 | static struct hda_verb alc272_dell_init_verbs[] = { | ||
15875 | {0x12, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN}, | ||
15876 | {0x13, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN}, | ||
15877 | {0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN}, | ||
15878 | {0x16, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN}, | ||
15879 | {0x21, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP}, | ||
15880 | {0x21, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE}, | ||
15881 | {0x21, AC_VERB_SET_CONNECT_SEL, 0x01}, /* Headphone */ | ||
15882 | {0x23, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0)}, | ||
15883 | {0x23, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(9)}, | ||
15884 | {0x18, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | ALC880_MIC_EVENT}, | ||
15885 | {0x21, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | ALC880_HP_EVENT}, | ||
15886 | {} | ||
15887 | }; | ||
15888 | |||
15847 | static struct snd_kcontrol_new alc662_auto_capture_mixer[] = { | 15889 | static struct snd_kcontrol_new alc662_auto_capture_mixer[] = { |
15848 | HDA_CODEC_VOLUME("Capture Volume", 0x09, 0x0, HDA_INPUT), | 15890 | HDA_CODEC_VOLUME("Capture Volume", 0x09, 0x0, HDA_INPUT), |
15849 | HDA_CODEC_MUTE("Capture Switch", 0x09, 0x0, HDA_INPUT), | 15891 | HDA_CODEC_MUTE("Capture Switch", 0x09, 0x0, HDA_INPUT), |
15850 | { } /* end */ | 15892 | { } /* end */ |
15851 | }; | 15893 | }; |
15852 | 15894 | ||
15895 | static struct snd_kcontrol_new alc272_auto_capture_mixer[] = { | ||
15896 | HDA_CODEC_VOLUME("Capture Volume", 0x08, 0x0, HDA_INPUT), | ||
15897 | HDA_CODEC_MUTE("Capture Switch", 0x08, 0x0, HDA_INPUT), | ||
15898 | { } /* end */ | ||
15899 | }; | ||
15900 | |||
15853 | static void alc662_lenovo_101e_ispeaker_automute(struct hda_codec *codec) | 15901 | static void alc662_lenovo_101e_ispeaker_automute(struct hda_codec *codec) |
15854 | { | 15902 | { |
15855 | unsigned int present; | 15903 | unsigned int present; |
@@ -16361,6 +16409,8 @@ static const char *alc662_models[ALC662_MODEL_LAST] = { | |||
16361 | 16409 | ||
16362 | static struct snd_pci_quirk alc662_cfg_tbl[] = { | 16410 | static struct snd_pci_quirk alc662_cfg_tbl[] = { |
16363 | SND_PCI_QUIRK(0x1019, 0x9087, "ECS", ALC662_ECS), | 16411 | SND_PCI_QUIRK(0x1019, 0x9087, "ECS", ALC662_ECS), |
16412 | SND_PCI_QUIRK(0x1028, 0x02d6, "DELL", ALC272_DELL), | ||
16413 | SND_PCI_QUIRK(0x1028, 0x02f4, "DELL ZM1", ALC272_DELL_ZM1), | ||
16364 | SND_PCI_QUIRK(0x1043, 0x1000, "ASUS N50Vm", ALC663_ASUS_MODE1), | 16414 | SND_PCI_QUIRK(0x1043, 0x1000, "ASUS N50Vm", ALC663_ASUS_MODE1), |
16365 | SND_PCI_QUIRK(0x1043, 0x1092, "ASUS NB", ALC663_ASUS_MODE3), | 16415 | SND_PCI_QUIRK(0x1043, 0x1092, "ASUS NB", ALC663_ASUS_MODE3), |
16366 | SND_PCI_QUIRK(0x1043, 0x11c3, "ASUS M70V", ALC663_ASUS_MODE3), | 16416 | SND_PCI_QUIRK(0x1043, 0x11c3, "ASUS M70V", ALC663_ASUS_MODE3), |
@@ -16373,26 +16423,36 @@ static struct snd_pci_quirk alc662_cfg_tbl[] = { | |||
16373 | SND_PCI_QUIRK(0x1043, 0x1763, "ASUS NB", ALC663_ASUS_MODE6), | 16423 | SND_PCI_QUIRK(0x1043, 0x1763, "ASUS NB", ALC663_ASUS_MODE6), |
16374 | SND_PCI_QUIRK(0x1043, 0x1765, "ASUS NB", ALC663_ASUS_MODE6), | 16424 | SND_PCI_QUIRK(0x1043, 0x1765, "ASUS NB", ALC663_ASUS_MODE6), |
16375 | SND_PCI_QUIRK(0x1043, 0x1783, "ASUS NB", ALC662_ASUS_MODE2), | 16425 | SND_PCI_QUIRK(0x1043, 0x1783, "ASUS NB", ALC662_ASUS_MODE2), |
16426 | SND_PCI_QUIRK(0x1043, 0x17b3, "ASUS F70SL", ALC663_ASUS_MODE3), | ||
16427 | SND_PCI_QUIRK(0x1043, 0x17c3, "ASUS UX20", ALC663_ASUS_M51VA), | ||
16428 | SND_PCI_QUIRK(0x1043, 0x17f3, "ASUS X58LE", ALC662_ASUS_MODE2), | ||
16376 | SND_PCI_QUIRK(0x1043, 0x1813, "ASUS NB", ALC662_ASUS_MODE2), | 16429 | SND_PCI_QUIRK(0x1043, 0x1813, "ASUS NB", ALC662_ASUS_MODE2), |
16377 | SND_PCI_QUIRK(0x1043, 0x1823, "ASUS NB", ALC663_ASUS_MODE5), | 16430 | SND_PCI_QUIRK(0x1043, 0x1823, "ASUS NB", ALC663_ASUS_MODE5), |
16378 | SND_PCI_QUIRK(0x1043, 0x1833, "ASUS NB", ALC663_ASUS_MODE6), | 16431 | SND_PCI_QUIRK(0x1043, 0x1833, "ASUS NB", ALC663_ASUS_MODE6), |
16379 | SND_PCI_QUIRK(0x1043, 0x1843, "ASUS NB", ALC662_ASUS_MODE2), | 16432 | SND_PCI_QUIRK(0x1043, 0x1843, "ASUS NB", ALC662_ASUS_MODE2), |
16433 | SND_PCI_QUIRK(0x1043, 0x1853, "ASUS F50Z", ALC663_ASUS_MODE1), | ||
16380 | SND_PCI_QUIRK(0x1043, 0x1864, "ASUS NB", ALC662_ASUS_MODE2), | 16434 | SND_PCI_QUIRK(0x1043, 0x1864, "ASUS NB", ALC662_ASUS_MODE2), |
16381 | SND_PCI_QUIRK(0x1043, 0x1876, "ASUS NB", ALC662_ASUS_MODE2), | 16435 | SND_PCI_QUIRK(0x1043, 0x1876, "ASUS NB", ALC662_ASUS_MODE2), |
16382 | SND_PCI_QUIRK(0x1043, 0x1878, "ASUS M51VA", ALC663_ASUS_M51VA), | 16436 | SND_PCI_QUIRK(0x1043, 0x1878, "ASUS M51VA", ALC663_ASUS_M51VA), |
16383 | /*SND_PCI_QUIRK(0x1043, 0x1878, "ASUS M50Vr", ALC663_ASUS_MODE1),*/ | 16437 | /*SND_PCI_QUIRK(0x1043, 0x1878, "ASUS M50Vr", ALC663_ASUS_MODE1),*/ |
16384 | SND_PCI_QUIRK(0x1043, 0x1893, "ASUS M50Vm", ALC663_ASUS_MODE3), | 16438 | SND_PCI_QUIRK(0x1043, 0x1893, "ASUS M50Vm", ALC663_ASUS_MODE3), |
16385 | SND_PCI_QUIRK(0x1043, 0x1894, "ASUS X55", ALC663_ASUS_MODE3), | 16439 | SND_PCI_QUIRK(0x1043, 0x1894, "ASUS X55", ALC663_ASUS_MODE3), |
16440 | SND_PCI_QUIRK(0x1043, 0x18b3, "ASUS N80Vc", ALC663_ASUS_MODE1), | ||
16441 | SND_PCI_QUIRK(0x1043, 0x18d3, "ASUS N81Te", ALC663_ASUS_MODE1), | ||
16442 | SND_PCI_QUIRK(0x1043, 0x18f3, "ASUS N505Tp", ALC663_ASUS_MODE1), | ||
16386 | SND_PCI_QUIRK(0x1043, 0x1903, "ASUS F5GL", ALC663_ASUS_MODE1), | 16443 | SND_PCI_QUIRK(0x1043, 0x1903, "ASUS F5GL", ALC663_ASUS_MODE1), |
16387 | SND_PCI_QUIRK(0x1043, 0x1913, "ASUS NB", ALC662_ASUS_MODE2), | 16444 | SND_PCI_QUIRK(0x1043, 0x1913, "ASUS NB", ALC662_ASUS_MODE2), |
16388 | SND_PCI_QUIRK(0x1043, 0x1933, "ASUS F80Q", ALC662_ASUS_MODE2), | 16445 | SND_PCI_QUIRK(0x1043, 0x1933, "ASUS F80Q", ALC662_ASUS_MODE2), |
16446 | SND_PCI_QUIRK(0x1043, 0x1943, "ASUS Vx3V", ALC663_ASUS_MODE1), | ||
16389 | SND_PCI_QUIRK(0x1043, 0x1953, "ASUS NB", ALC663_ASUS_MODE1), | 16447 | SND_PCI_QUIRK(0x1043, 0x1953, "ASUS NB", ALC663_ASUS_MODE1), |
16390 | SND_PCI_QUIRK(0x1043, 0x1963, "ASUS X71C", ALC663_ASUS_MODE3), | 16448 | SND_PCI_QUIRK(0x1043, 0x1963, "ASUS X71C", ALC663_ASUS_MODE3), |
16449 | SND_PCI_QUIRK(0x1043, 0x1983, "ASUS N5051A", ALC663_ASUS_MODE1), | ||
16391 | SND_PCI_QUIRK(0x1043, 0x1993, "ASUS N20", ALC663_ASUS_MODE1), | 16450 | SND_PCI_QUIRK(0x1043, 0x1993, "ASUS N20", ALC663_ASUS_MODE1), |
16392 | SND_PCI_QUIRK(0x1043, 0x19a3, "ASUS G50V", ALC663_ASUS_G50V), | 16451 | SND_PCI_QUIRK(0x1043, 0x19a3, "ASUS G50V", ALC663_ASUS_G50V), |
16393 | /*SND_PCI_QUIRK(0x1043, 0x19a3, "ASUS NB", ALC663_ASUS_MODE1),*/ | 16452 | /*SND_PCI_QUIRK(0x1043, 0x19a3, "ASUS NB", ALC663_ASUS_MODE1),*/ |
16394 | SND_PCI_QUIRK(0x1043, 0x19b3, "ASUS F7Z", ALC663_ASUS_MODE1), | 16453 | SND_PCI_QUIRK(0x1043, 0x19b3, "ASUS F7Z", ALC663_ASUS_MODE1), |
16395 | SND_PCI_QUIRK(0x1043, 0x19c3, "ASUS F5Z/F6x", ALC662_ASUS_MODE2), | 16454 | SND_PCI_QUIRK(0x1043, 0x19c3, "ASUS F5Z/F6x", ALC662_ASUS_MODE2), |
16455 | SND_PCI_QUIRK(0x1043, 0x19d3, "ASUS NB", ALC663_ASUS_M51VA), | ||
16396 | SND_PCI_QUIRK(0x1043, 0x19e3, "ASUS NB", ALC663_ASUS_MODE1), | 16456 | SND_PCI_QUIRK(0x1043, 0x19e3, "ASUS NB", ALC663_ASUS_MODE1), |
16397 | SND_PCI_QUIRK(0x1043, 0x19f3, "ASUS NB", ALC663_ASUS_MODE4), | 16457 | SND_PCI_QUIRK(0x1043, 0x19f3, "ASUS NB", ALC663_ASUS_MODE4), |
16398 | SND_PCI_QUIRK(0x1043, 0x8290, "ASUS P5GC-MX", ALC662_3ST_6ch_DIG), | 16458 | SND_PCI_QUIRK(0x1043, 0x8290, "ASUS P5GC-MX", ALC662_3ST_6ch_DIG), |
@@ -16404,6 +16464,7 @@ static struct snd_pci_quirk alc662_cfg_tbl[] = { | |||
16404 | SND_PCI_QUIRK(0x1458, 0xa002, "Gigabyte 945GCM-S2L", | 16464 | SND_PCI_QUIRK(0x1458, 0xa002, "Gigabyte 945GCM-S2L", |
16405 | ALC662_3ST_6ch_DIG), | 16465 | ALC662_3ST_6ch_DIG), |
16406 | SND_PCI_QUIRK(0x1565, 0x820f, "Biostar TA780G M2+", ALC662_3ST_6ch_DIG), | 16466 | SND_PCI_QUIRK(0x1565, 0x820f, "Biostar TA780G M2+", ALC662_3ST_6ch_DIG), |
16467 | SND_PCI_QUIRK(0x1631, 0xc10c, "PB RS65", ALC663_ASUS_M51VA), | ||
16407 | SND_PCI_QUIRK(0x17aa, 0x101e, "Lenovo", ALC662_LENOVO_101E), | 16468 | SND_PCI_QUIRK(0x17aa, 0x101e, "Lenovo", ALC662_LENOVO_101E), |
16408 | SND_PCI_QUIRK(0x1849, 0x3662, "ASROCK K10N78FullHD-hSLI R3.0", | 16469 | SND_PCI_QUIRK(0x1849, 0x3662, "ASROCK K10N78FullHD-hSLI R3.0", |
16409 | ALC662_3ST_6ch_DIG), | 16470 | ALC662_3ST_6ch_DIG), |
@@ -16641,6 +16702,36 @@ static struct alc_config_preset alc662_presets[] = { | |||
16641 | .unsol_event = alc663_mode6_unsol_event, | 16702 | .unsol_event = alc663_mode6_unsol_event, |
16642 | .init_hook = alc663_mode6_inithook, | 16703 | .init_hook = alc663_mode6_inithook, |
16643 | }, | 16704 | }, |
16705 | [ALC272_DELL] = { | ||
16706 | .mixers = { alc663_m51va_mixer }, | ||
16707 | .cap_mixer = alc272_auto_capture_mixer, | ||
16708 | .init_verbs = { alc662_init_verbs, alc272_dell_init_verbs }, | ||
16709 | .num_dacs = ARRAY_SIZE(alc272_dac_nids), | ||
16710 | .dac_nids = alc662_dac_nids, | ||
16711 | .num_channel_mode = ARRAY_SIZE(alc662_3ST_2ch_modes), | ||
16712 | .adc_nids = alc272_adc_nids, | ||
16713 | .num_adc_nids = ARRAY_SIZE(alc272_adc_nids), | ||
16714 | .capsrc_nids = alc272_capsrc_nids, | ||
16715 | .channel_mode = alc662_3ST_2ch_modes, | ||
16716 | .input_mux = &alc663_m51va_capture_source, | ||
16717 | .unsol_event = alc663_m51va_unsol_event, | ||
16718 | .init_hook = alc663_m51va_inithook, | ||
16719 | }, | ||
16720 | [ALC272_DELL_ZM1] = { | ||
16721 | .mixers = { alc663_m51va_mixer }, | ||
16722 | .cap_mixer = alc662_auto_capture_mixer, | ||
16723 | .init_verbs = { alc662_init_verbs, alc272_dell_zm1_init_verbs }, | ||
16724 | .num_dacs = ARRAY_SIZE(alc272_dac_nids), | ||
16725 | .dac_nids = alc662_dac_nids, | ||
16726 | .num_channel_mode = ARRAY_SIZE(alc662_3ST_2ch_modes), | ||
16727 | .adc_nids = alc662_adc_nids, | ||
16728 | .num_adc_nids = ARRAY_SIZE(alc662_adc_nids), | ||
16729 | .capsrc_nids = alc662_capsrc_nids, | ||
16730 | .channel_mode = alc662_3ST_2ch_modes, | ||
16731 | .input_mux = &alc663_m51va_capture_source, | ||
16732 | .unsol_event = alc663_m51va_unsol_event, | ||
16733 | .init_hook = alc663_m51va_inithook, | ||
16734 | }, | ||
16644 | }; | 16735 | }; |
16645 | 16736 | ||
16646 | 16737 | ||