aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2011-08-18 10:02:24 -0400
committerTakashi Iwai <tiwai@suse.de>2011-08-18 10:02:24 -0400
commit2996bdbaa40c52c76ec9b981dfa1c9f3a6191fc3 (patch)
treebb38c4cee07f3aafc83d7856662342a35eeb0e75 /sound
parent91baa2c7170ffaec7d7267923ff025036f4f5c61 (diff)
ALSA: hda - Remove ALC662 eeepc-p701 and ecs models
These are confirmed to work with the auto-parser with pincfg fixups. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/hda/alc662_quirks.c63
-rw-r--r--sound/pci/hda/patch_realtek.c13
2 files changed, 13 insertions, 63 deletions
diff --git a/sound/pci/hda/alc662_quirks.c b/sound/pci/hda/alc662_quirks.c
index 7bb8e4bd4f71..f9a122bd528a 100644
--- a/sound/pci/hda/alc662_quirks.c
+++ b/sound/pci/hda/alc662_quirks.c
@@ -11,13 +11,11 @@ enum {
11 ALC662_3ST_6ch, 11 ALC662_3ST_6ch,
12 ALC662_5ST_DIG, 12 ALC662_5ST_DIG,
13 ALC662_LENOVO_101E, 13 ALC662_LENOVO_101E,
14 ALC662_ASUS_EEEPC_P701,
15 ALC662_ASUS_EEEPC_EP20, 14 ALC662_ASUS_EEEPC_EP20,
16 ALC663_ASUS_M51VA, 15 ALC663_ASUS_M51VA,
17 ALC663_ASUS_G71V, 16 ALC663_ASUS_G71V,
18 ALC663_ASUS_H13, 17 ALC663_ASUS_H13,
19 ALC663_ASUS_G50V, 18 ALC663_ASUS_G50V,
20 ALC662_ECS,
21 ALC663_ASUS_MODE1, 19 ALC663_ASUS_MODE1,
22 ALC662_ASUS_MODE2, 20 ALC662_ASUS_MODE2,
23 ALC663_ASUS_MODE3, 21 ALC663_ASUS_MODE3,
@@ -222,20 +220,6 @@ static const struct snd_kcontrol_new alc662_lenovo_101e_mixer[] = {
222 { } /* end */ 220 { } /* end */
223}; 221};
224 222
225static const struct snd_kcontrol_new alc662_eeepc_p701_mixer[] = {
226 HDA_CODEC_VOLUME("Master Playback Volume", 0x02, 0x0, HDA_OUTPUT),
227 ALC262_HIPPO_MASTER_SWITCH,
228
229 HDA_CODEC_VOLUME("Mic Boost Volume", 0x18, 0, HDA_INPUT),
230 HDA_CODEC_VOLUME("Mic Playback Volume", 0x0b, 0x0, HDA_INPUT),
231 HDA_CODEC_MUTE("Mic Playback Switch", 0x0b, 0x0, HDA_INPUT),
232
233 HDA_CODEC_VOLUME("Internal Mic Boost Volume", 0x19, 0, HDA_INPUT),
234 HDA_CODEC_VOLUME("Internal Mic Playback Volume", 0x0b, 0x1, HDA_INPUT),
235 HDA_CODEC_MUTE("Internal Mic Playback Switch", 0x0b, 0x1, HDA_INPUT),
236 { } /* end */
237};
238
239static const struct snd_kcontrol_new alc662_eeepc_ep20_mixer[] = { 223static const struct snd_kcontrol_new alc662_eeepc_ep20_mixer[] = {
240 ALC262_HIPPO_MASTER_SWITCH, 224 ALC262_HIPPO_MASTER_SWITCH,
241 HDA_CODEC_VOLUME("Front Playback Volume", 0x02, 0x0, HDA_OUTPUT), 225 HDA_CODEC_VOLUME("Front Playback Volume", 0x02, 0x0, HDA_OUTPUT),
@@ -514,12 +498,6 @@ static const struct hda_verb alc662_sue_init_verbs[] = {
514 {} 498 {}
515}; 499};
516 500
517static const struct hda_verb alc662_eeepc_sue_init_verbs[] = {
518 {0x18, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | ALC_MIC_EVENT},
519 {0x1b, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | ALC_HP_EVENT},
520 {}
521};
522
523/* Set Unsolicited Event*/ 501/* Set Unsolicited Event*/
524static const struct hda_verb alc662_eeepc_ep20_sue_init_verbs[] = { 502static const struct hda_verb alc662_eeepc_ep20_sue_init_verbs[] = {
525 {0x1b, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT}, 503 {0x1b, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT},
@@ -703,16 +681,6 @@ static void alc662_lenovo_101e_setup(struct hda_codec *codec)
703 spec->automute_mode = ALC_AUTOMUTE_AMP; 681 spec->automute_mode = ALC_AUTOMUTE_AMP;
704} 682}
705 683
706static void alc662_eeepc_setup(struct hda_codec *codec)
707{
708 struct alc_spec *spec = codec->spec;
709
710 alc262_hippo1_setup(codec);
711 spec->ext_mic_pin = 0x18;
712 spec->int_mic_pin = 0x19;
713 spec->auto_mic = 1;
714}
715
716static void alc662_eeepc_ep20_setup(struct hda_codec *codec) 684static void alc662_eeepc_ep20_setup(struct hda_codec *codec)
717{ 685{
718 struct alc_spec *spec = codec->spec; 686 struct alc_spec *spec = codec->spec;
@@ -894,9 +862,7 @@ static const char * const alc662_models[ALC662_MODEL_LAST] = {
894 [ALC662_3ST_6ch] = "3stack-6ch", 862 [ALC662_3ST_6ch] = "3stack-6ch",
895 [ALC662_5ST_DIG] = "5stack-dig", 863 [ALC662_5ST_DIG] = "5stack-dig",
896 [ALC662_LENOVO_101E] = "lenovo-101e", 864 [ALC662_LENOVO_101E] = "lenovo-101e",
897 [ALC662_ASUS_EEEPC_P701] = "eeepc-p701",
898 [ALC662_ASUS_EEEPC_EP20] = "eeepc-ep20", 865 [ALC662_ASUS_EEEPC_EP20] = "eeepc-ep20",
899 [ALC662_ECS] = "ecs",
900 [ALC663_ASUS_M51VA] = "m51va", 866 [ALC663_ASUS_M51VA] = "m51va",
901 [ALC663_ASUS_G71V] = "g71v", 867 [ALC663_ASUS_G71V] = "g71v",
902 [ALC663_ASUS_H13] = "h13", 868 [ALC663_ASUS_H13] = "h13",
@@ -913,7 +879,6 @@ static const char * const alc662_models[ALC662_MODEL_LAST] = {
913}; 879};
914 880
915static const struct snd_pci_quirk alc662_cfg_tbl[] = { 881static const struct snd_pci_quirk alc662_cfg_tbl[] = {
916 SND_PCI_QUIRK(0x1019, 0x9087, "ECS", ALC662_ECS),
917 SND_PCI_QUIRK(0x1043, 0x1000, "ASUS N50Vm", ALC663_ASUS_MODE1), 882 SND_PCI_QUIRK(0x1043, 0x1000, "ASUS N50Vm", ALC663_ASUS_MODE1),
918 SND_PCI_QUIRK(0x1043, 0x1092, "ASUS NB", ALC663_ASUS_MODE3), 883 SND_PCI_QUIRK(0x1043, 0x1092, "ASUS NB", ALC663_ASUS_MODE3),
919 SND_PCI_QUIRK(0x1043, 0x1173, "ASUS K73Jn", ALC663_ASUS_MODE1), 884 SND_PCI_QUIRK(0x1043, 0x1173, "ASUS K73Jn", ALC663_ASUS_MODE1),
@@ -971,9 +936,7 @@ static const struct snd_pci_quirk alc662_cfg_tbl[] = {
971 SND_PCI_QUIRK(0x1043, 0x19e3, "ASUS NB", ALC663_ASUS_MODE1), 936 SND_PCI_QUIRK(0x1043, 0x19e3, "ASUS NB", ALC663_ASUS_MODE1),
972 SND_PCI_QUIRK(0x1043, 0x19f3, "ASUS NB", ALC663_ASUS_MODE4), 937 SND_PCI_QUIRK(0x1043, 0x19f3, "ASUS NB", ALC663_ASUS_MODE4),
973 SND_PCI_QUIRK(0x1043, 0x8290, "ASUS P5GC-MX", ALC662_3ST_6ch_DIG), 938 SND_PCI_QUIRK(0x1043, 0x8290, "ASUS P5GC-MX", ALC662_3ST_6ch_DIG),
974 SND_PCI_QUIRK(0x1043, 0x82a1, "ASUS Eeepc", ALC662_ASUS_EEEPC_P701),
975 SND_PCI_QUIRK(0x1043, 0x82d1, "ASUS Eeepc EP20", ALC662_ASUS_EEEPC_EP20), 939 SND_PCI_QUIRK(0x1043, 0x82d1, "ASUS Eeepc EP20", ALC662_ASUS_EEEPC_EP20),
976 SND_PCI_QUIRK(0x105b, 0x0cd6, "Foxconn", ALC662_ECS),
977 SND_PCI_QUIRK(0x105b, 0x0d47, "Foxconn 45CMX/45GMX/45CMX-K", 940 SND_PCI_QUIRK(0x105b, 0x0d47, "Foxconn 45CMX/45GMX/45CMX-K",
978 ALC662_3ST_6ch_DIG), 941 ALC662_3ST_6ch_DIG),
979 SND_PCI_QUIRK(0x1179, 0xff6e, "Toshiba NB20x", ALC662_AUTO), 942 SND_PCI_QUIRK(0x1179, 0xff6e, "Toshiba NB20x", ALC662_AUTO),
@@ -1050,19 +1013,6 @@ static const struct alc_config_preset alc662_presets[] = {
1050 .setup = alc662_lenovo_101e_setup, 1013 .setup = alc662_lenovo_101e_setup,
1051 .init_hook = alc_inithook, 1014 .init_hook = alc_inithook,
1052 }, 1015 },
1053 [ALC662_ASUS_EEEPC_P701] = {
1054 .mixers = { alc662_eeepc_p701_mixer },
1055 .init_verbs = { alc662_init_verbs,
1056 alc662_eapd_init_verbs,
1057 alc662_eeepc_sue_init_verbs },
1058 .num_dacs = ARRAY_SIZE(alc662_dac_nids),
1059 .dac_nids = alc662_dac_nids,
1060 .num_channel_mode = ARRAY_SIZE(alc662_3ST_2ch_modes),
1061 .channel_mode = alc662_3ST_2ch_modes,
1062 .unsol_event = alc_sku_unsol_event,
1063 .setup = alc662_eeepc_setup,
1064 .init_hook = alc_inithook,
1065 },
1066 [ALC662_ASUS_EEEPC_EP20] = { 1016 [ALC662_ASUS_EEEPC_EP20] = {
1067 .mixers = { alc662_eeepc_ep20_mixer, 1017 .mixers = { alc662_eeepc_ep20_mixer,
1068 alc662_chmode_mixer }, 1018 alc662_chmode_mixer },
@@ -1078,19 +1028,6 @@ static const struct alc_config_preset alc662_presets[] = {
1078 .setup = alc662_eeepc_ep20_setup, 1028 .setup = alc662_eeepc_ep20_setup,
1079 .init_hook = alc_inithook, 1029 .init_hook = alc_inithook,
1080 }, 1030 },
1081 [ALC662_ECS] = {
1082 .mixers = { alc662_ecs_mixer },
1083 .init_verbs = { alc662_init_verbs,
1084 alc662_eapd_init_verbs,
1085 alc662_ecs_init_verbs },
1086 .num_dacs = ARRAY_SIZE(alc662_dac_nids),
1087 .dac_nids = alc662_dac_nids,
1088 .num_channel_mode = ARRAY_SIZE(alc662_3ST_2ch_modes),
1089 .channel_mode = alc662_3ST_2ch_modes,
1090 .unsol_event = alc_sku_unsol_event,
1091 .setup = alc662_eeepc_setup,
1092 .init_hook = alc_inithook,
1093 },
1094 [ALC663_ASUS_M51VA] = { 1031 [ALC663_ASUS_M51VA] = {
1095 .mixers = { alc663_m51va_mixer }, 1032 .mixers = { alc663_m51va_mixer },
1096 .init_verbs = { alc662_init_verbs, 1033 .init_verbs = { alc662_init_verbs,
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 58717ab324fa..d330e9717432 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -5123,6 +5123,7 @@ enum {
5123 ALC662_FIXUP_CZC_P10T, 5123 ALC662_FIXUP_CZC_P10T,
5124 ALC662_FIXUP_SKU_IGNORE, 5124 ALC662_FIXUP_SKU_IGNORE,
5125 ALC662_FIXUP_HP_RP5800, 5125 ALC662_FIXUP_HP_RP5800,
5126 ALC662_FIXUP_ECS,
5126}; 5127};
5127 5128
5128static const struct alc_fixup alc662_fixups[] = { 5129static const struct alc_fixup alc662_fixups[] = {
@@ -5164,13 +5165,25 @@ static const struct alc_fixup alc662_fixups[] = {
5164 .chained = true, 5165 .chained = true,
5165 .chain_id = ALC662_FIXUP_SKU_IGNORE 5166 .chain_id = ALC662_FIXUP_SKU_IGNORE
5166 }, 5167 },
5168 [ALC662_FIXUP_ECS] = {
5169 .type = ALC_FIXUP_PINS,
5170 .v.pins = (const struct alc_pincfg[]) {
5171 { 0x14, 0x99130110 }, /* speaker */
5172 { 0x18, 0x01a19820 }, /* mic */
5173 { 0x19, 0x99a3092f }, /* int-mic */
5174 { 0x1b, 0x0121401f }, /* HP out */
5175 { }
5176 },
5177 },
5167}; 5178};
5168 5179
5169static const struct snd_pci_quirk alc662_fixup_tbl[] = { 5180static const struct snd_pci_quirk alc662_fixup_tbl[] = {
5181 SND_PCI_QUIRK(0x1019, 0x9087, "ECS", ALC662_FIXUP_ECS),
5170 SND_PCI_QUIRK(0x1025, 0x0308, "Acer Aspire 8942G", ALC662_FIXUP_ASPIRE), 5182 SND_PCI_QUIRK(0x1025, 0x0308, "Acer Aspire 8942G", ALC662_FIXUP_ASPIRE),
5171 SND_PCI_QUIRK(0x1025, 0x031c, "Gateway NV79", ALC662_FIXUP_SKU_IGNORE), 5183 SND_PCI_QUIRK(0x1025, 0x031c, "Gateway NV79", ALC662_FIXUP_SKU_IGNORE),
5172 SND_PCI_QUIRK(0x1025, 0x038b, "Acer Aspire 8943G", ALC662_FIXUP_ASPIRE), 5184 SND_PCI_QUIRK(0x1025, 0x038b, "Acer Aspire 8943G", ALC662_FIXUP_ASPIRE),
5173 SND_PCI_QUIRK(0x103c, 0x1632, "HP RP5800", ALC662_FIXUP_HP_RP5800), 5185 SND_PCI_QUIRK(0x103c, 0x1632, "HP RP5800", ALC662_FIXUP_HP_RP5800),
5186 SND_PCI_QUIRK(0x105b, 0x0cd6, "Foxconn", ALC662_FIXUP_ECS),
5174 SND_PCI_QUIRK(0x144d, 0xc051, "Samsung R720", ALC662_FIXUP_IDEAPAD), 5187 SND_PCI_QUIRK(0x144d, 0xc051, "Samsung R720", ALC662_FIXUP_IDEAPAD),
5175 SND_PCI_QUIRK(0x17aa, 0x38af, "Lenovo Ideapad Y550P", ALC662_FIXUP_IDEAPAD), 5188 SND_PCI_QUIRK(0x17aa, 0x38af, "Lenovo Ideapad Y550P", ALC662_FIXUP_IDEAPAD),
5176 SND_PCI_QUIRK(0x17aa, 0x3a0d, "Lenovo Ideapad Y550", ALC662_FIXUP_IDEAPAD), 5189 SND_PCI_QUIRK(0x17aa, 0x3a0d, "Lenovo Ideapad Y550", ALC662_FIXUP_IDEAPAD),