diff options
Diffstat (limited to 'sound')
-rw-r--r-- | sound/pci/hda/alc882_quirks.c | 150 |
1 files changed, 0 insertions, 150 deletions
diff --git a/sound/pci/hda/alc882_quirks.c b/sound/pci/hda/alc882_quirks.c index 0f7f5e7346b8..80321a116ca0 100644 --- a/sound/pci/hda/alc882_quirks.c +++ b/sound/pci/hda/alc882_quirks.c | |||
@@ -30,9 +30,6 @@ enum { | |||
30 | ALC888_ACER_ASPIRE_6530G, | 30 | ALC888_ACER_ASPIRE_6530G, |
31 | ALC888_ACER_ASPIRE_8930G, | 31 | ALC888_ACER_ASPIRE_8930G, |
32 | ALC888_ACER_ASPIRE_7730G, | 32 | ALC888_ACER_ASPIRE_7730G, |
33 | ALC888_3ST_HP, | ||
34 | ALC888_6ST_DELL, | ||
35 | ALC883_CLEVO_M540R, | ||
36 | ALC883_CLEVO_M720, | 33 | ALC883_CLEVO_M720, |
37 | ALC883_3ST_6ch_INTEL, | 34 | ALC883_3ST_6ch_INTEL, |
38 | ALC889A_INTEL, | 35 | ALC889A_INTEL, |
@@ -1980,22 +1977,6 @@ static const struct snd_kcontrol_new alc883_chmode_mixer[] = { | |||
1980 | { } /* end */ | 1977 | { } /* end */ |
1981 | }; | 1978 | }; |
1982 | 1979 | ||
1983 | static const struct hda_verb alc883_clevo_m540r_verbs[] = { | ||
1984 | /* HP */ | ||
1985 | {0x15, AC_VERB_SET_CONNECT_SEL, 0x00}, | ||
1986 | {0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP}, | ||
1987 | /* Int speaker */ | ||
1988 | /*{0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP},*/ | ||
1989 | |||
1990 | /* enable unsolicited event */ | ||
1991 | /* | ||
1992 | {0x15, AC_VERB_SET_UNSOLICITED_ENABLE, ALC_HP_EVENT | AC_USRSP_EN}, | ||
1993 | {0x18, AC_VERB_SET_UNSOLICITED_ENABLE, ALC_MIC_EVENT | AC_USRSP_EN}, | ||
1994 | */ | ||
1995 | |||
1996 | { } /* end */ | ||
1997 | }; | ||
1998 | |||
1999 | static const struct hda_verb alc883_clevo_m720_verbs[] = { | 1980 | static const struct hda_verb alc883_clevo_m720_verbs[] = { |
2000 | /* HP */ | 1981 | /* HP */ |
2001 | {0x15, AC_VERB_SET_CONNECT_SEL, 0x00}, | 1982 | {0x15, AC_VERB_SET_CONNECT_SEL, 0x00}, |
@@ -2040,72 +2021,6 @@ static const struct hda_verb alc883_targa_verbs[] = { | |||
2040 | { } /* end */ | 2021 | { } /* end */ |
2041 | }; | 2022 | }; |
2042 | 2023 | ||
2043 | static const struct hda_verb alc888_6st_dell_verbs[] = { | ||
2044 | {0x1b, AC_VERB_SET_UNSOLICITED_ENABLE, ALC_HP_EVENT | AC_USRSP_EN}, | ||
2045 | { } | ||
2046 | }; | ||
2047 | |||
2048 | static void alc888_3st_hp_setup(struct hda_codec *codec) | ||
2049 | { | ||
2050 | struct alc_spec *spec = codec->spec; | ||
2051 | |||
2052 | spec->autocfg.hp_pins[0] = 0x1b; | ||
2053 | spec->autocfg.speaker_pins[0] = 0x14; | ||
2054 | spec->autocfg.speaker_pins[1] = 0x16; | ||
2055 | spec->autocfg.speaker_pins[2] = 0x18; | ||
2056 | alc_simple_setup_automute(spec, ALC_AUTOMUTE_AMP); | ||
2057 | } | ||
2058 | |||
2059 | static const struct hda_verb alc888_3st_hp_verbs[] = { | ||
2060 | {0x14, AC_VERB_SET_CONNECT_SEL, 0x00}, /* Front: output 0 (0x0c) */ | ||
2061 | {0x16, AC_VERB_SET_CONNECT_SEL, 0x01}, /* Rear : output 1 (0x0d) */ | ||
2062 | {0x18, AC_VERB_SET_CONNECT_SEL, 0x02}, /* CLFE : output 2 (0x0e) */ | ||
2063 | {0x1b, AC_VERB_SET_UNSOLICITED_ENABLE, ALC_HP_EVENT | AC_USRSP_EN}, | ||
2064 | { } /* end */ | ||
2065 | }; | ||
2066 | |||
2067 | /* | ||
2068 | * 2ch mode | ||
2069 | */ | ||
2070 | static const struct hda_verb alc888_3st_hp_2ch_init[] = { | ||
2071 | { 0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80 }, | ||
2072 | { 0x18, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE }, | ||
2073 | { 0x16, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN }, | ||
2074 | { 0x16, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE }, | ||
2075 | { } /* end */ | ||
2076 | }; | ||
2077 | |||
2078 | /* | ||
2079 | * 4ch mode | ||
2080 | */ | ||
2081 | static const struct hda_verb alc888_3st_hp_4ch_init[] = { | ||
2082 | { 0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80 }, | ||
2083 | { 0x18, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE }, | ||
2084 | { 0x16, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT }, | ||
2085 | { 0x16, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE }, | ||
2086 | { 0x16, AC_VERB_SET_CONNECT_SEL, 0x01 }, | ||
2087 | { } /* end */ | ||
2088 | }; | ||
2089 | |||
2090 | /* | ||
2091 | * 6ch mode | ||
2092 | */ | ||
2093 | static const struct hda_verb alc888_3st_hp_6ch_init[] = { | ||
2094 | { 0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT }, | ||
2095 | { 0x18, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE }, | ||
2096 | { 0x18, AC_VERB_SET_CONNECT_SEL, 0x02 }, | ||
2097 | { 0x16, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT }, | ||
2098 | { 0x16, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE }, | ||
2099 | { 0x16, AC_VERB_SET_CONNECT_SEL, 0x01 }, | ||
2100 | { } /* end */ | ||
2101 | }; | ||
2102 | |||
2103 | static const struct hda_channel_mode alc888_3st_hp_modes[3] = { | ||
2104 | { 2, alc888_3st_hp_2ch_init }, | ||
2105 | { 4, alc888_3st_hp_4ch_init }, | ||
2106 | { 6, alc888_3st_hp_6ch_init }, | ||
2107 | }; | ||
2108 | |||
2109 | /* toggle speaker-output according to the hp-jack state */ | 2024 | /* toggle speaker-output according to the hp-jack state */ |
2110 | #define alc883_targa_init_hook alc882_targa_init_hook | 2025 | #define alc883_targa_init_hook alc882_targa_init_hook |
2111 | #define alc883_targa_unsol_event alc882_targa_unsol_event | 2026 | #define alc883_targa_unsol_event alc882_targa_unsol_event |
@@ -2167,18 +2082,6 @@ static const struct hda_verb alc883_acer_eapd_verbs[] = { | |||
2167 | { } | 2082 | { } |
2168 | }; | 2083 | }; |
2169 | 2084 | ||
2170 | static void alc888_6st_dell_setup(struct hda_codec *codec) | ||
2171 | { | ||
2172 | struct alc_spec *spec = codec->spec; | ||
2173 | |||
2174 | spec->autocfg.hp_pins[0] = 0x1b; | ||
2175 | spec->autocfg.speaker_pins[0] = 0x14; | ||
2176 | spec->autocfg.speaker_pins[1] = 0x15; | ||
2177 | spec->autocfg.speaker_pins[2] = 0x16; | ||
2178 | spec->autocfg.speaker_pins[3] = 0x17; | ||
2179 | alc_simple_setup_automute(spec, ALC_AUTOMUTE_AMP); | ||
2180 | } | ||
2181 | |||
2182 | static const struct hda_verb alc889A_mb31_verbs[] = { | 2085 | static const struct hda_verb alc889A_mb31_verbs[] = { |
2183 | /* Init rear pin (used as headphone output) */ | 2086 | /* Init rear pin (used as headphone output) */ |
2184 | {0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, 0xc4}, /* Apple Headphones */ | 2087 | {0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, 0xc4}, /* Apple Headphones */ |
@@ -2250,9 +2153,6 @@ static const char * const alc882_models[ALC882_MODEL_LAST] = { | |||
2250 | [ALC888_ACER_ASPIRE_6530G] = "acer-aspire-6530g", | 2153 | [ALC888_ACER_ASPIRE_6530G] = "acer-aspire-6530g", |
2251 | [ALC888_ACER_ASPIRE_8930G] = "acer-aspire-8930g", | 2154 | [ALC888_ACER_ASPIRE_8930G] = "acer-aspire-8930g", |
2252 | [ALC888_ACER_ASPIRE_7730G] = "acer-aspire-7730g", | 2155 | [ALC888_ACER_ASPIRE_7730G] = "acer-aspire-7730g", |
2253 | [ALC888_3ST_HP] = "3stack-hp", | ||
2254 | [ALC888_6ST_DELL] = "6stack-dell", | ||
2255 | [ALC883_CLEVO_M540R] = "clevo-m540r", | ||
2256 | [ALC883_CLEVO_M720] = "clevo-m720", | 2156 | [ALC883_CLEVO_M720] = "clevo-m720", |
2257 | [ALC883_3ST_6ch_INTEL] = "3stack-6ch-intel", | 2157 | [ALC883_3ST_6ch_INTEL] = "3stack-6ch-intel", |
2258 | [ALC889A_INTEL] = "intel-alc889a", | 2158 | [ALC889A_INTEL] = "intel-alc889a", |
@@ -2291,14 +2191,8 @@ static const struct snd_pci_quirk alc882_cfg_tbl[] = { | |||
2291 | */ | 2191 | */ |
2292 | /* SND_PCI_QUIRK_VENDOR(0x1025, "Acer laptop", ALC883_ACER), */ | 2192 | /* SND_PCI_QUIRK_VENDOR(0x1025, "Acer laptop", ALC883_ACER), */ |
2293 | 2193 | ||
2294 | SND_PCI_QUIRK(0x1028, 0x020d, "Dell Inspiron 530", ALC888_6ST_DELL), | ||
2295 | |||
2296 | SND_PCI_QUIRK(0x103c, 0x2a3d, "HP Pavilion", ALC883_6ST_DIG), | 2194 | SND_PCI_QUIRK(0x103c, 0x2a3d, "HP Pavilion", ALC883_6ST_DIG), |
2297 | SND_PCI_QUIRK(0x103c, 0x2a4f, "HP Samba", ALC888_3ST_HP), | ||
2298 | SND_PCI_QUIRK(0x103c, 0x2a60, "HP Lucknow", ALC888_3ST_HP), | ||
2299 | SND_PCI_QUIRK(0x103c, 0x2a61, "HP Nettle", ALC883_6ST_DIG), | 2195 | SND_PCI_QUIRK(0x103c, 0x2a61, "HP Nettle", ALC883_6ST_DIG), |
2300 | SND_PCI_QUIRK(0x103c, 0x2a66, "HP Acacia", ALC888_3ST_HP), | ||
2301 | SND_PCI_QUIRK(0x103c, 0x2a72, "HP Educ.ar", ALC888_3ST_HP), | ||
2302 | 2196 | ||
2303 | SND_PCI_QUIRK(0x1043, 0x1971, "Asus W2JC", ALC882_W2JC), | 2197 | SND_PCI_QUIRK(0x1043, 0x1971, "Asus W2JC", ALC882_W2JC), |
2304 | SND_PCI_QUIRK(0x1043, 0x817f, "Asus P5LD2", ALC882_6ST_DIG), | 2198 | SND_PCI_QUIRK(0x1043, 0x817f, "Asus P5LD2", ALC882_6ST_DIG), |
@@ -2308,7 +2202,6 @@ static const struct snd_pci_quirk alc882_cfg_tbl[] = { | |||
2308 | 2202 | ||
2309 | SND_PCI_QUIRK(0x105b, 0x0ce8, "Foxconn P35AX-S", ALC883_6ST_DIG), | 2203 | SND_PCI_QUIRK(0x105b, 0x0ce8, "Foxconn P35AX-S", ALC883_6ST_DIG), |
2310 | SND_PCI_QUIRK(0x105b, 0x6668, "Foxconn", ALC882_6ST_DIG), | 2204 | SND_PCI_QUIRK(0x105b, 0x6668, "Foxconn", ALC882_6ST_DIG), |
2311 | SND_PCI_QUIRK(0x10f1, 0x2350, "TYAN-S2350", ALC888_6ST_DELL), | ||
2312 | SND_PCI_QUIRK(0x108e, 0x534d, NULL, ALC883_3ST_6ch), | 2205 | SND_PCI_QUIRK(0x108e, 0x534d, NULL, ALC883_3ST_6ch), |
2313 | SND_PCI_QUIRK(0x1458, 0xa002, "Gigabyte P35 DS3R", ALC882_6ST_DIG), | 2206 | SND_PCI_QUIRK(0x1458, 0xa002, "Gigabyte P35 DS3R", ALC882_6ST_DIG), |
2314 | 2207 | ||
@@ -2348,7 +2241,6 @@ static const struct snd_pci_quirk alc882_cfg_tbl[] = { | |||
2348 | SND_PCI_QUIRK(0x1558, 0x0571, "Clevo laptop M570U", ALC883_3ST_6ch_DIG), | 2241 | SND_PCI_QUIRK(0x1558, 0x0571, "Clevo laptop M570U", ALC883_3ST_6ch_DIG), |
2349 | SND_PCI_QUIRK(0x1558, 0x0721, "Clevo laptop M720R", ALC883_CLEVO_M720), | 2242 | SND_PCI_QUIRK(0x1558, 0x0721, "Clevo laptop M720R", ALC883_CLEVO_M720), |
2350 | SND_PCI_QUIRK(0x1558, 0x0722, "Clevo laptop M720SR", ALC883_CLEVO_M720), | 2243 | SND_PCI_QUIRK(0x1558, 0x0722, "Clevo laptop M720SR", ALC883_CLEVO_M720), |
2351 | SND_PCI_QUIRK(0x1558, 0x5409, "Clevo laptop M540R", ALC883_CLEVO_M540R), | ||
2352 | SND_PCI_QUIRK(0x15d9, 0x8780, "Supermicro PDSBA", ALC883_3ST_6ch), | 2244 | SND_PCI_QUIRK(0x15d9, 0x8780, "Supermicro PDSBA", ALC883_3ST_6ch), |
2353 | SND_PCI_QUIRK(0x17f2, 0x5000, "Albatron KI690-AM2", ALC883_6ST_DIG), | 2245 | SND_PCI_QUIRK(0x17f2, 0x5000, "Albatron KI690-AM2", ALC883_6ST_DIG), |
2354 | 2246 | ||
@@ -2807,21 +2699,6 @@ static const struct alc_config_preset alc882_presets[] = { | |||
2807 | .setup = alc888_acer_aspire_7730g_setup, | 2699 | .setup = alc888_acer_aspire_7730g_setup, |
2808 | .init_hook = alc_hp_automute, | 2700 | .init_hook = alc_hp_automute, |
2809 | }, | 2701 | }, |
2810 | [ALC883_CLEVO_M540R] = { | ||
2811 | .mixers = { alc883_3ST_6ch_mixer, alc883_chmode_mixer }, | ||
2812 | .init_verbs = { alc883_init_verbs, alc883_clevo_m540r_verbs }, | ||
2813 | .num_dacs = ARRAY_SIZE(alc883_dac_nids), | ||
2814 | .dac_nids = alc883_dac_nids, | ||
2815 | .dig_out_nid = ALC883_DIGOUT_NID, | ||
2816 | .dig_in_nid = ALC883_DIGIN_NID, | ||
2817 | .num_channel_mode = ARRAY_SIZE(alc883_3ST_6ch_clevo_modes), | ||
2818 | .channel_mode = alc883_3ST_6ch_clevo_modes, | ||
2819 | .need_dac_fix = 1, | ||
2820 | .input_mux = &alc883_capture_source, | ||
2821 | /* This machine has the hardware HP auto-muting, thus | ||
2822 | * we need no software mute via unsol event | ||
2823 | */ | ||
2824 | }, | ||
2825 | [ALC883_CLEVO_M720] = { | 2702 | [ALC883_CLEVO_M720] = { |
2826 | .mixers = { alc883_clevo_m720_mixer }, | 2703 | .mixers = { alc883_clevo_m720_mixer }, |
2827 | .init_verbs = { alc883_init_verbs, alc883_clevo_m720_verbs }, | 2704 | .init_verbs = { alc883_init_verbs, alc883_clevo_m720_verbs }, |
@@ -2835,33 +2712,6 @@ static const struct alc_config_preset alc882_presets[] = { | |||
2835 | .setup = alc883_clevo_m720_setup, | 2712 | .setup = alc883_clevo_m720_setup, |
2836 | .init_hook = alc883_clevo_m720_init_hook, | 2713 | .init_hook = alc883_clevo_m720_init_hook, |
2837 | }, | 2714 | }, |
2838 | [ALC888_3ST_HP] = { | ||
2839 | .mixers = { alc883_3ST_6ch_mixer, alc883_chmode_mixer }, | ||
2840 | .init_verbs = { alc883_init_verbs, alc888_3st_hp_verbs }, | ||
2841 | .num_dacs = ARRAY_SIZE(alc883_dac_nids), | ||
2842 | .dac_nids = alc883_dac_nids, | ||
2843 | .num_channel_mode = ARRAY_SIZE(alc888_3st_hp_modes), | ||
2844 | .channel_mode = alc888_3st_hp_modes, | ||
2845 | .need_dac_fix = 1, | ||
2846 | .input_mux = &alc883_capture_source, | ||
2847 | .unsol_event = alc_sku_unsol_event, | ||
2848 | .setup = alc888_3st_hp_setup, | ||
2849 | .init_hook = alc_hp_automute, | ||
2850 | }, | ||
2851 | [ALC888_6ST_DELL] = { | ||
2852 | .mixers = { alc883_base_mixer, alc883_chmode_mixer }, | ||
2853 | .init_verbs = { alc883_init_verbs, alc888_6st_dell_verbs }, | ||
2854 | .num_dacs = ARRAY_SIZE(alc883_dac_nids), | ||
2855 | .dac_nids = alc883_dac_nids, | ||
2856 | .dig_out_nid = ALC883_DIGOUT_NID, | ||
2857 | .dig_in_nid = ALC883_DIGIN_NID, | ||
2858 | .num_channel_mode = ARRAY_SIZE(alc883_sixstack_modes), | ||
2859 | .channel_mode = alc883_sixstack_modes, | ||
2860 | .input_mux = &alc883_capture_source, | ||
2861 | .unsol_event = alc_sku_unsol_event, | ||
2862 | .setup = alc888_6st_dell_setup, | ||
2863 | .init_hook = alc_hp_automute, | ||
2864 | }, | ||
2865 | [ALC889A_MB31] = { | 2715 | [ALC889A_MB31] = { |
2866 | .mixers = { alc889A_mb31_mixer, alc883_chmode_mixer}, | 2716 | .mixers = { alc889A_mb31_mixer, alc883_chmode_mixer}, |
2867 | .init_verbs = { alc883_init_verbs, alc889A_mb31_verbs, | 2717 | .init_verbs = { alc883_init_verbs, alc889A_mb31_verbs, |