diff options
author | Takashi Iwai <tiwai@suse.de> | 2011-11-09 06:55:18 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2011-11-09 09:11:16 -0500 |
commit | 177943a39aabec31cdbd529fd5f3060850f5aef9 (patch) | |
tree | 1ce8cb06f6a7f1655d49a1f61e1be4ecd75a9630 | |
parent | 596830ee1d2d9cf56e5efe0c020eb588beecae62 (diff) |
ALSA: hda/realtek - Drop ALC882 asus-a7j and asus-a7m models
These models work fine with the auto-parser with the additional COEF
setup. The iMac 7,1 (106b:3200) also uses the same quirk, so remove it
too.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r-- | sound/pci/hda/alc882_quirks.c | 106 | ||||
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 14 |
2 files changed, 13 insertions, 107 deletions
diff --git a/sound/pci/hda/alc882_quirks.c b/sound/pci/hda/alc882_quirks.c index 2be5e076dd13..c3438da728fe 100644 --- a/sound/pci/hda/alc882_quirks.c +++ b/sound/pci/hda/alc882_quirks.c | |||
@@ -11,8 +11,6 @@ enum { | |||
11 | ALC882_ARIMA, | 11 | ALC882_ARIMA, |
12 | ALC882_W2JC, | 12 | ALC882_W2JC, |
13 | ALC882_TARGA, | 13 | ALC882_TARGA, |
14 | ALC882_ASUS_A7J, | ||
15 | ALC882_ASUS_A7M, | ||
16 | ALC885_MACPRO, | 14 | ALC885_MACPRO, |
17 | ALC885_MBA21, | 15 | ALC885_MBA21, |
18 | ALC885_MBP3, | 16 | ALC885_MBP3, |
@@ -1140,40 +1138,6 @@ static const struct snd_kcontrol_new alc882_targa_mixer[] = { | |||
1140 | { } /* end */ | 1138 | { } /* end */ |
1141 | }; | 1139 | }; |
1142 | 1140 | ||
1143 | /* Pin assignment: Front=0x14, HP = 0x15, Front = 0x16, ??? | ||
1144 | * Front Mic=0x18, Line In = 0x1a, Line In = 0x1b, CD = 0x1c | ||
1145 | */ | ||
1146 | static const struct snd_kcontrol_new alc882_asus_a7j_mixer[] = { | ||
1147 | HDA_CODEC_VOLUME("Front Playback Volume", 0x0c, 0x0, HDA_OUTPUT), | ||
1148 | HDA_CODEC_MUTE("Front Playback Switch", 0x14, 0x0, HDA_OUTPUT), | ||
1149 | HDA_CODEC_MUTE("Headphone Playback Switch", 0x15, 0x0, HDA_OUTPUT), | ||
1150 | HDA_CODEC_MUTE("Mobile Front Playback Switch", 0x16, 0x0, HDA_OUTPUT), | ||
1151 | HDA_CODEC_VOLUME("CD Playback Volume", 0x0b, 0x04, HDA_INPUT), | ||
1152 | HDA_CODEC_MUTE("CD Playback Switch", 0x0b, 0x04, HDA_INPUT), | ||
1153 | HDA_CODEC_VOLUME("Line Playback Volume", 0x0b, 0x02, HDA_INPUT), | ||
1154 | HDA_CODEC_MUTE("Line Playback Switch", 0x0b, 0x02, HDA_INPUT), | ||
1155 | HDA_CODEC_VOLUME("Mobile Line Playback Volume", 0x0b, 0x03, HDA_INPUT), | ||
1156 | HDA_CODEC_MUTE("Mobile Line Playback Switch", 0x0b, 0x03, HDA_INPUT), | ||
1157 | HDA_CODEC_VOLUME("Mic Playback Volume", 0x0b, 0x0, HDA_INPUT), | ||
1158 | HDA_CODEC_MUTE("Mic Playback Switch", 0x0b, 0x0, HDA_INPUT), | ||
1159 | HDA_CODEC_VOLUME("Mic Boost Volume", 0x18, 0, HDA_INPUT), | ||
1160 | { } /* end */ | ||
1161 | }; | ||
1162 | |||
1163 | static const struct snd_kcontrol_new alc882_asus_a7m_mixer[] = { | ||
1164 | HDA_CODEC_VOLUME("Front Playback Volume", 0x0c, 0x0, HDA_OUTPUT), | ||
1165 | HDA_BIND_MUTE("Front Playback Switch", 0x0c, 2, HDA_INPUT), | ||
1166 | HDA_CODEC_MUTE("Headphone Playback Switch", 0x15, 0x0, HDA_OUTPUT), | ||
1167 | HDA_CODEC_VOLUME("CD Playback Volume", 0x0b, 0x04, HDA_INPUT), | ||
1168 | HDA_CODEC_MUTE("CD Playback Switch", 0x0b, 0x04, HDA_INPUT), | ||
1169 | HDA_CODEC_VOLUME("Line Playback Volume", 0x0b, 0x02, HDA_INPUT), | ||
1170 | HDA_CODEC_MUTE("Line Playback Switch", 0x0b, 0x02, HDA_INPUT), | ||
1171 | HDA_CODEC_VOLUME("Mic Playback Volume", 0x0b, 0x0, HDA_INPUT), | ||
1172 | HDA_CODEC_VOLUME("Mic Boost Volume", 0x18, 0, HDA_INPUT), | ||
1173 | HDA_CODEC_MUTE("Mic Playback Switch", 0x0b, 0x0, HDA_INPUT), | ||
1174 | { } /* end */ | ||
1175 | }; | ||
1176 | |||
1177 | static const struct snd_kcontrol_new alc882_chmode_mixer[] = { | 1141 | static const struct snd_kcontrol_new alc882_chmode_mixer[] = { |
1178 | { | 1142 | { |
1179 | .iface = SNDRV_CTL_ELEM_IFACE_MIXER, | 1143 | .iface = SNDRV_CTL_ELEM_IFACE_MIXER, |
@@ -1770,42 +1734,6 @@ static void alc882_targa_unsol_event(struct hda_codec *codec, unsigned int res) | |||
1770 | alc882_targa_automute(codec); | 1734 | alc882_targa_automute(codec); |
1771 | } | 1735 | } |
1772 | 1736 | ||
1773 | static const struct hda_verb alc882_asus_a7j_verbs[] = { | ||
1774 | {0x0c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)}, | ||
1775 | {0x0c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)}, | ||
1776 | |||
1777 | {0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP}, | ||
1778 | {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT}, | ||
1779 | {0x16, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT}, | ||
1780 | |||
1781 | {0x14, AC_VERB_SET_CONNECT_SEL, 0x00}, /* Front */ | ||
1782 | {0x15, AC_VERB_SET_CONNECT_SEL, 0x00}, /* HP */ | ||
1783 | {0x16, AC_VERB_SET_CONNECT_SEL, 0x00}, /* Front */ | ||
1784 | |||
1785 | {0x18, AC_VERB_SET_CONNECT_SEL, 0x02}, /* mic/clfe */ | ||
1786 | {0x1a, AC_VERB_SET_CONNECT_SEL, 0x01}, /* line/surround */ | ||
1787 | {0x1b, AC_VERB_SET_CONNECT_SEL, 0x00}, /* HP */ | ||
1788 | { } /* end */ | ||
1789 | }; | ||
1790 | |||
1791 | static const struct hda_verb alc882_asus_a7m_verbs[] = { | ||
1792 | {0x0c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)}, | ||
1793 | {0x0c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)}, | ||
1794 | |||
1795 | {0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP}, | ||
1796 | {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT}, | ||
1797 | {0x16, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT}, | ||
1798 | |||
1799 | {0x14, AC_VERB_SET_CONNECT_SEL, 0x00}, /* Front */ | ||
1800 | {0x15, AC_VERB_SET_CONNECT_SEL, 0x00}, /* HP */ | ||
1801 | {0x16, AC_VERB_SET_CONNECT_SEL, 0x00}, /* Front */ | ||
1802 | |||
1803 | {0x18, AC_VERB_SET_CONNECT_SEL, 0x02}, /* mic/clfe */ | ||
1804 | {0x1a, AC_VERB_SET_CONNECT_SEL, 0x01}, /* line/surround */ | ||
1805 | {0x1b, AC_VERB_SET_CONNECT_SEL, 0x00}, /* HP */ | ||
1806 | { } /* end */ | ||
1807 | }; | ||
1808 | |||
1809 | static void alc882_gpio_mute(struct hda_codec *codec, int pin, int muted) | 1737 | static void alc882_gpio_mute(struct hda_codec *codec, int pin, int muted) |
1810 | { | 1738 | { |
1811 | unsigned int gpiostate, gpiomask, gpiodir; | 1739 | unsigned int gpiostate, gpiomask, gpiodir; |
@@ -2699,8 +2627,6 @@ static const char * const alc882_models[ALC882_MODEL_LAST] = { | |||
2699 | [ALC882_ARIMA] = "arima", | 2627 | [ALC882_ARIMA] = "arima", |
2700 | [ALC882_W2JC] = "w2jc", | 2628 | [ALC882_W2JC] = "w2jc", |
2701 | [ALC882_TARGA] = "targa", | 2629 | [ALC882_TARGA] = "targa", |
2702 | [ALC882_ASUS_A7J] = "asus-a7j", | ||
2703 | [ALC882_ASUS_A7M] = "asus-a7m", | ||
2704 | [ALC885_MACPRO] = "macpro", | 2630 | [ALC885_MACPRO] = "macpro", |
2705 | [ALC885_MB5] = "mb5", | 2631 | [ALC885_MB5] = "mb5", |
2706 | [ALC885_MACMINI3] = "macmini3", | 2632 | [ALC885_MACMINI3] = "macmini3", |
@@ -2782,9 +2708,6 @@ static const struct snd_pci_quirk alc882_cfg_tbl[] = { | |||
2782 | SND_PCI_QUIRK(0x103c, 0x2a66, "HP Acacia", ALC888_3ST_HP), | 2708 | SND_PCI_QUIRK(0x103c, 0x2a66, "HP Acacia", ALC888_3ST_HP), |
2783 | SND_PCI_QUIRK(0x103c, 0x2a72, "HP Educ.ar", ALC888_3ST_HP), | 2709 | SND_PCI_QUIRK(0x103c, 0x2a72, "HP Educ.ar", ALC888_3ST_HP), |
2784 | 2710 | ||
2785 | SND_PCI_QUIRK(0x1043, 0x060d, "Asus A7J", ALC882_ASUS_A7J), | ||
2786 | SND_PCI_QUIRK(0x1043, 0x1243, "Asus A7J", ALC882_ASUS_A7J), | ||
2787 | SND_PCI_QUIRK(0x1043, 0x13c2, "Asus A7M", ALC882_ASUS_A7M), | ||
2788 | SND_PCI_QUIRK(0x1043, 0x1873, "Asus M90V", ALC888_ASUS_M90V), | 2711 | SND_PCI_QUIRK(0x1043, 0x1873, "Asus M90V", ALC888_ASUS_M90V), |
2789 | SND_PCI_QUIRK(0x1043, 0x1971, "Asus W2JC", ALC882_W2JC), | 2712 | SND_PCI_QUIRK(0x1043, 0x1971, "Asus W2JC", ALC882_W2JC), |
2790 | SND_PCI_QUIRK(0x1043, 0x817f, "Asus P5LD2", ALC882_6ST_DIG), | 2713 | SND_PCI_QUIRK(0x1043, 0x817f, "Asus P5LD2", ALC882_6ST_DIG), |
@@ -2876,7 +2799,6 @@ static const struct snd_pci_quirk alc882_ssid_cfg_tbl[] = { | |||
2876 | SND_PCI_QUIRK(0x106b, 0x2800, "AppleTV", ALC885_IMAC24), | 2799 | SND_PCI_QUIRK(0x106b, 0x2800, "AppleTV", ALC885_IMAC24), |
2877 | SND_PCI_QUIRK(0x106b, 0x2c00, "MacbookPro rev3", ALC885_MBP3), | 2800 | SND_PCI_QUIRK(0x106b, 0x2c00, "MacbookPro rev3", ALC885_MBP3), |
2878 | SND_PCI_QUIRK(0x106b, 0x3000, "iMac", ALC889A_MB31), | 2801 | SND_PCI_QUIRK(0x106b, 0x3000, "iMac", ALC889A_MB31), |
2879 | SND_PCI_QUIRK(0x106b, 0x3200, "iMac 7,1 Aluminum", ALC882_ASUS_A7M), | ||
2880 | SND_PCI_QUIRK(0x106b, 0x3400, "MacBookAir 1,1", ALC885_MBP3), | 2802 | SND_PCI_QUIRK(0x106b, 0x3400, "MacBookAir 1,1", ALC885_MBP3), |
2881 | SND_PCI_QUIRK(0x106b, 0x3500, "MacBookAir 2,1", ALC885_MBA21), | 2803 | SND_PCI_QUIRK(0x106b, 0x3500, "MacBookAir 2,1", ALC885_MBA21), |
2882 | SND_PCI_QUIRK(0x106b, 0x3600, "Macbook 3,1", ALC889A_MB31), | 2804 | SND_PCI_QUIRK(0x106b, 0x3600, "Macbook 3,1", ALC889A_MB31), |
@@ -3059,34 +2981,6 @@ static const struct alc_config_preset alc882_presets[] = { | |||
3059 | .setup = alc882_targa_setup, | 2981 | .setup = alc882_targa_setup, |
3060 | .init_hook = alc882_targa_automute, | 2982 | .init_hook = alc882_targa_automute, |
3061 | }, | 2983 | }, |
3062 | [ALC882_ASUS_A7J] = { | ||
3063 | .mixers = { alc882_asus_a7j_mixer, alc882_chmode_mixer }, | ||
3064 | .init_verbs = { alc882_base_init_verbs, alc882_adc1_init_verbs, | ||
3065 | alc882_asus_a7j_verbs}, | ||
3066 | .num_dacs = ARRAY_SIZE(alc882_dac_nids), | ||
3067 | .dac_nids = alc882_dac_nids, | ||
3068 | .dig_out_nid = ALC882_DIGOUT_NID, | ||
3069 | .num_adc_nids = ARRAY_SIZE(alc882_adc_nids), | ||
3070 | .adc_nids = alc882_adc_nids, | ||
3071 | .capsrc_nids = alc882_capsrc_nids, | ||
3072 | .num_channel_mode = ARRAY_SIZE(alc882_3ST_6ch_modes), | ||
3073 | .channel_mode = alc882_3ST_6ch_modes, | ||
3074 | .need_dac_fix = 1, | ||
3075 | .input_mux = &alc882_capture_source, | ||
3076 | }, | ||
3077 | [ALC882_ASUS_A7M] = { | ||
3078 | .mixers = { alc882_asus_a7m_mixer, alc882_chmode_mixer }, | ||
3079 | .init_verbs = { alc882_base_init_verbs, alc882_adc1_init_verbs, | ||
3080 | alc882_eapd_verbs, alc880_gpio1_init_verbs, | ||
3081 | alc882_asus_a7m_verbs }, | ||
3082 | .num_dacs = ARRAY_SIZE(alc882_dac_nids), | ||
3083 | .dac_nids = alc882_dac_nids, | ||
3084 | .dig_out_nid = ALC882_DIGOUT_NID, | ||
3085 | .num_channel_mode = ARRAY_SIZE(alc880_threestack_modes), | ||
3086 | .channel_mode = alc880_threestack_modes, | ||
3087 | .need_dac_fix = 1, | ||
3088 | .input_mux = &alc882_capture_source, | ||
3089 | }, | ||
3090 | [ALC883_3ST_2ch_DIG] = { | 2984 | [ALC883_3ST_2ch_DIG] = { |
3091 | .mixers = { alc883_3ST_2ch_mixer }, | 2985 | .mixers = { alc883_3ST_2ch_mixer }, |
3092 | .init_verbs = { alc883_init_verbs }, | 2986 | .init_verbs = { alc883_init_verbs }, |
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 640cf2810f03..43c7aeac0492 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -4235,6 +4235,7 @@ enum { | |||
4235 | ALC882_FIXUP_ASUS_W90V, | 4235 | ALC882_FIXUP_ASUS_W90V, |
4236 | ALC889_FIXUP_VAIO_TT, | 4236 | ALC889_FIXUP_VAIO_TT, |
4237 | ALC888_FIXUP_EEE1601, | 4237 | ALC888_FIXUP_EEE1601, |
4238 | ALC882_FIXUP_EAPD, | ||
4238 | }; | 4239 | }; |
4239 | 4240 | ||
4240 | static const struct alc_fixup alc882_fixups[] = { | 4241 | static const struct alc_fixup alc882_fixups[] = { |
@@ -4287,14 +4288,25 @@ static const struct alc_fixup alc882_fixups[] = { | |||
4287 | { 0x20, AC_VERB_SET_PROC_COEF, 0x0838 }, | 4288 | { 0x20, AC_VERB_SET_PROC_COEF, 0x0838 }, |
4288 | { } | 4289 | { } |
4289 | } | 4290 | } |
4290 | } | 4291 | }, |
4292 | [ALC882_FIXUP_EAPD] = { | ||
4293 | .type = ALC_FIXUP_VERBS, | ||
4294 | .v.verbs = (const struct hda_verb[]) { | ||
4295 | /* change to EAPD mode */ | ||
4296 | { 0x20, AC_VERB_SET_COEF_INDEX, 0x07 }, | ||
4297 | { 0x20, AC_VERB_SET_PROC_COEF, 0x3060 }, | ||
4298 | { } | ||
4299 | } | ||
4300 | }, | ||
4291 | }; | 4301 | }; |
4292 | 4302 | ||
4293 | static const struct snd_pci_quirk alc882_fixup_tbl[] = { | 4303 | static const struct snd_pci_quirk alc882_fixup_tbl[] = { |
4294 | SND_PCI_QUIRK(0x1025, 0x0155, "Packard-Bell M5120", ALC882_FIXUP_PB_M5210), | 4304 | SND_PCI_QUIRK(0x1025, 0x0155, "Packard-Bell M5120", ALC882_FIXUP_PB_M5210), |
4305 | SND_PCI_QUIRK(0x1043, 0x13c2, "Asus A7M", ALC882_FIXUP_EAPD), | ||
4295 | SND_PCI_QUIRK(0x1043, 0x1873, "ASUS W90V", ALC882_FIXUP_ASUS_W90V), | 4306 | SND_PCI_QUIRK(0x1043, 0x1873, "ASUS W90V", ALC882_FIXUP_ASUS_W90V), |
4296 | SND_PCI_QUIRK(0x1043, 0x835f, "Asus Eee 1601", ALC888_FIXUP_EEE1601), | 4307 | SND_PCI_QUIRK(0x1043, 0x835f, "Asus Eee 1601", ALC888_FIXUP_EEE1601), |
4297 | SND_PCI_QUIRK(0x17aa, 0x3a0d, "Lenovo Y530", ALC882_FIXUP_LENOVO_Y530), | 4308 | SND_PCI_QUIRK(0x17aa, 0x3a0d, "Lenovo Y530", ALC882_FIXUP_LENOVO_Y530), |
4309 | SND_PCI_QUIRK(0x106b, 0x3200, "iMac 7,1 Aluminum", ALC882_FIXUP_EAPD), /* codec SSID */ | ||
4298 | SND_PCI_QUIRK(0x147b, 0x107a, "Abit AW9D-MAX", ALC882_FIXUP_ABIT_AW9D_MAX), | 4310 | SND_PCI_QUIRK(0x147b, 0x107a, "Abit AW9D-MAX", ALC882_FIXUP_ABIT_AW9D_MAX), |
4299 | SND_PCI_QUIRK(0x1025, 0x0296, "Acer Aspire 7736z", ALC882_FIXUP_ACER_ASPIRE_7736), | 4311 | SND_PCI_QUIRK(0x1025, 0x0296, "Acer Aspire 7736z", ALC882_FIXUP_ACER_ASPIRE_7736), |
4300 | SND_PCI_QUIRK(0x104d, 0x9047, "Sony Vaio TT", ALC889_FIXUP_VAIO_TT), | 4312 | SND_PCI_QUIRK(0x104d, 0x9047, "Sony Vaio TT", ALC889_FIXUP_VAIO_TT), |