aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sound/pci/hda/alc882_quirks.c188
1 files changed, 0 insertions, 188 deletions
diff --git a/sound/pci/hda/alc882_quirks.c b/sound/pci/hda/alc882_quirks.c
index 88f93fcd4e04..a71077d94451 100644
--- a/sound/pci/hda/alc882_quirks.c
+++ b/sound/pci/hda/alc882_quirks.c
@@ -34,10 +34,6 @@ enum {
34 ALC883_MEDION, 34 ALC883_MEDION,
35 ALC883_MEDION_WIM2160, 35 ALC883_MEDION_WIM2160,
36 ALC883_LAPTOP_EAPD, 36 ALC883_LAPTOP_EAPD,
37 ALC883_LENOVO_101E_2ch,
38 ALC883_LENOVO_NB0763,
39 ALC888_LENOVO_MS7195_DIG,
40 ALC883_HAIER_W66,
41 ALC888_3ST_HP, 37 ALC888_3ST_HP,
42 ALC888_6ST_DELL, 38 ALC888_6ST_DELL,
43 ALC883_MITAC, 39 ALC883_MITAC,
@@ -584,24 +580,6 @@ static const struct hda_input_mux alc883_3stack_6ch_intel = {
584 }, 580 },
585}; 581};
586 582
587static const struct hda_input_mux alc883_lenovo_101e_capture_source = {
588 .num_items = 2,
589 .items = {
590 { "Mic", 0x1 },
591 { "Line", 0x2 },
592 },
593};
594
595static const struct hda_input_mux alc883_lenovo_nb0763_capture_source = {
596 .num_items = 4,
597 .items = {
598 { "Mic", 0x0 },
599 { "Internal Mic", 0x1 },
600 { "Line", 0x2 },
601 { "CD", 0x4 },
602 },
603};
604
605static const struct hda_input_mux alc889A_mb31_capture_source = { 583static const struct hda_input_mux alc889A_mb31_capture_source = {
606 .num_items = 2, 584 .num_items = 2,
607 .items = { 585 .items = {
@@ -2000,31 +1978,6 @@ static const struct snd_kcontrol_new alc883_targa_8ch_mixer[] = {
2000 { } /* end */ 1978 { } /* end */
2001}; 1979};
2002 1980
2003static const struct snd_kcontrol_new alc883_lenovo_101e_2ch_mixer[] = {
2004 HDA_CODEC_VOLUME("Front Playback Volume", 0x0c, 0x0, HDA_OUTPUT),
2005 HDA_BIND_MUTE("Front Playback Switch", 0x0c, 2, HDA_INPUT),
2006 HDA_CODEC_VOLUME("Speaker Playback Volume", 0x0d, 0x0, HDA_OUTPUT),
2007 HDA_BIND_MUTE("Speaker Playback Switch", 0x0d, 2, HDA_INPUT),
2008 HDA_CODEC_MUTE("Headphone Playback Switch", 0x1b, 0x0, HDA_OUTPUT),
2009 HDA_CODEC_VOLUME("Mic Playback Volume", 0x0b, 0x1, HDA_INPUT),
2010 HDA_CODEC_VOLUME("Mic Boost Volume", 0x18, 0, HDA_INPUT),
2011 HDA_CODEC_MUTE("Mic Playback Switch", 0x0b, 0x1, HDA_INPUT),
2012 { } /* end */
2013};
2014
2015static const struct snd_kcontrol_new alc883_lenovo_nb0763_mixer[] = {
2016 HDA_CODEC_VOLUME("Speaker Playback Volume", 0x0c, 0x0, HDA_OUTPUT),
2017 HDA_BIND_MUTE("Speaker Playback Switch", 0x0c, 2, HDA_INPUT),
2018 HDA_CODEC_MUTE("Headphone Playback Switch", 0x14, 0x0, HDA_OUTPUT),
2019 HDA_CODEC_VOLUME("CD Playback Volume", 0x0b, 0x04, HDA_INPUT),
2020 HDA_CODEC_MUTE("CD Playback Switch", 0x0b, 0x04, HDA_INPUT),
2021 HDA_CODEC_VOLUME("Mic Playback Volume", 0x0b, 0x0, HDA_INPUT),
2022 HDA_CODEC_MUTE("Mic Playback Switch", 0x0b, 0x0, HDA_INPUT),
2023 HDA_CODEC_VOLUME("Internal Mic Playback Volume", 0x0b, 0x1, HDA_INPUT),
2024 HDA_CODEC_MUTE("Internal Mic Playback Switch", 0x0b, 0x1, HDA_INPUT),
2025 { } /* end */
2026};
2027
2028static const struct snd_kcontrol_new alc883_medion_wim2160_mixer[] = { 1981static const struct snd_kcontrol_new alc883_medion_wim2160_mixer[] = {
2029 HDA_CODEC_VOLUME("Front Playback Volume", 0x0c, 0x0, HDA_OUTPUT), 1982 HDA_CODEC_VOLUME("Front Playback Volume", 0x0c, 0x0, HDA_OUTPUT),
2030 HDA_BIND_MUTE("Front Playback Switch", 0x0c, 2, HDA_INPUT), 1983 HDA_BIND_MUTE("Front Playback Switch", 0x0c, 2, HDA_INPUT),
@@ -2228,43 +2181,6 @@ static const struct hda_verb alc883_targa_verbs[] = {
2228 { } /* end */ 2181 { } /* end */
2229}; 2182};
2230 2183
2231static const struct hda_verb alc883_lenovo_101e_verbs[] = {
2232 {0x15, AC_VERB_SET_CONNECT_SEL, 0x00},
2233 {0x14, AC_VERB_SET_UNSOLICITED_ENABLE, ALC_FRONT_EVENT|AC_USRSP_EN},
2234 {0x1b, AC_VERB_SET_UNSOLICITED_ENABLE, ALC_HP_EVENT|AC_USRSP_EN},
2235 { } /* end */
2236};
2237
2238static const struct hda_verb alc883_lenovo_nb0763_verbs[] = {
2239 {0x15, AC_VERB_SET_CONNECT_SEL, 0x00},
2240 {0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP},
2241 {0x14, AC_VERB_SET_UNSOLICITED_ENABLE, ALC_HP_EVENT | AC_USRSP_EN},
2242 {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP},
2243 { } /* end */
2244};
2245
2246static const struct hda_verb alc888_lenovo_ms7195_verbs[] = {
2247 {0x0c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
2248 {0x0c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
2249 {0x15, AC_VERB_SET_CONNECT_SEL, 0x00},
2250 {0x14, AC_VERB_SET_UNSOLICITED_ENABLE, ALC_FRONT_EVENT | AC_USRSP_EN},
2251 {0x1b, AC_VERB_SET_UNSOLICITED_ENABLE, ALC_HP_EVENT | AC_USRSP_EN},
2252 { } /* end */
2253};
2254
2255static const struct hda_verb alc883_haier_w66_verbs[] = {
2256 {0x0c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
2257 {0x0c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
2258
2259 {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT},
2260
2261 {0x1b, AC_VERB_SET_CONNECT_SEL, 0x00},
2262 {0x1b, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP},
2263 {0x1b, AC_VERB_SET_UNSOLICITED_ENABLE, ALC_HP_EVENT | AC_USRSP_EN},
2264 {0x1b, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP},
2265 { } /* end */
2266};
2267
2268static const struct hda_verb alc888_6st_dell_verbs[] = { 2184static const struct hda_verb alc888_6st_dell_verbs[] = {
2269 {0x1b, AC_VERB_SET_UNSOLICITED_ENABLE, ALC_HP_EVENT | AC_USRSP_EN}, 2185 {0x1b, AC_VERB_SET_UNSOLICITED_ENABLE, ALC_HP_EVENT | AC_USRSP_EN},
2270 { } 2186 { }
@@ -2331,26 +2247,6 @@ static const struct hda_channel_mode alc888_3st_hp_modes[3] = {
2331 { 6, alc888_3st_hp_6ch_init }, 2247 { 6, alc888_3st_hp_6ch_init },
2332}; 2248};
2333 2249
2334static void alc888_lenovo_ms7195_setup(struct hda_codec *codec)
2335{
2336 struct alc_spec *spec = codec->spec;
2337
2338 spec->autocfg.hp_pins[0] = 0x1b;
2339 spec->autocfg.line_out_pins[0] = 0x14;
2340 spec->autocfg.speaker_pins[0] = 0x15;
2341 alc_simple_setup_automute(spec, ALC_AUTOMUTE_AMP);
2342}
2343
2344/* toggle speaker-output according to the hp-jack state */
2345static void alc883_lenovo_nb0763_setup(struct hda_codec *codec)
2346{
2347 struct alc_spec *spec = codec->spec;
2348
2349 spec->autocfg.hp_pins[0] = 0x14;
2350 spec->autocfg.speaker_pins[0] = 0x15;
2351 alc_simple_setup_automute(spec, ALC_AUTOMUTE_AMP);
2352}
2353
2354/* toggle speaker-output according to the hp-jack state */ 2250/* toggle speaker-output according to the hp-jack state */
2355#define alc883_targa_init_hook alc882_targa_init_hook 2251#define alc883_targa_init_hook alc882_targa_init_hook
2356#define alc883_targa_unsol_event alc882_targa_unsol_event 2252#define alc883_targa_unsol_event alc882_targa_unsol_event
@@ -2383,25 +2279,6 @@ static void alc883_clevo_m720_unsol_event(struct hda_codec *codec,
2383 } 2279 }
2384} 2280}
2385 2281
2386static void alc883_haier_w66_setup(struct hda_codec *codec)
2387{
2388 struct alc_spec *spec = codec->spec;
2389
2390 spec->autocfg.hp_pins[0] = 0x1b;
2391 spec->autocfg.speaker_pins[0] = 0x14;
2392 alc_simple_setup_automute(spec, ALC_AUTOMUTE_AMP);
2393}
2394
2395static void alc883_lenovo_101e_setup(struct hda_codec *codec)
2396{
2397 struct alc_spec *spec = codec->spec;
2398
2399 spec->autocfg.hp_pins[0] = 0x1b;
2400 spec->autocfg.line_out_pins[0] = 0x14;
2401 spec->autocfg.speaker_pins[0] = 0x15;
2402 alc_simple_setup_automute(spec, ALC_AUTOMUTE_AMP);
2403}
2404
2405/* toggle speaker-output according to the hp-jack state */ 2282/* toggle speaker-output according to the hp-jack state */
2406static void alc883_acer_aspire_setup(struct hda_codec *codec) 2283static void alc883_acer_aspire_setup(struct hda_codec *codec)
2407{ 2284{
@@ -2518,10 +2395,6 @@ static const char * const alc882_models[ALC882_MODEL_LAST] = {
2518 [ALC883_MEDION] = "medion", 2395 [ALC883_MEDION] = "medion",
2519 [ALC883_MEDION_WIM2160] = "medion-wim2160", 2396 [ALC883_MEDION_WIM2160] = "medion-wim2160",
2520 [ALC883_LAPTOP_EAPD] = "laptop-eapd", 2397 [ALC883_LAPTOP_EAPD] = "laptop-eapd",
2521 [ALC883_LENOVO_101E_2ch] = "lenovo-101e",
2522 [ALC883_LENOVO_NB0763] = "lenovo-nb0763",
2523 [ALC888_LENOVO_MS7195_DIG] = "lenovo-ms7195-dig",
2524 [ALC883_HAIER_W66] = "haier-w66",
2525 [ALC888_3ST_HP] = "3stack-hp", 2398 [ALC888_3ST_HP] = "3stack-hp",
2526 [ALC888_6ST_DELL] = "6stack-dell", 2399 [ALC888_6ST_DELL] = "6stack-dell",
2527 [ALC883_MITAC] = "mitac", 2400 [ALC883_MITAC] = "mitac",
@@ -2632,13 +2505,7 @@ static const struct snd_pci_quirk alc882_cfg_tbl[] = {
2632 SND_PCI_QUIRK(0x161f, 0x2054, "Medion laptop", ALC883_MEDION), 2505 SND_PCI_QUIRK(0x161f, 0x2054, "Medion laptop", ALC883_MEDION),
2633 SND_PCI_QUIRK_MASK(0x1734, 0xfff0, 0x1130, "Fujitsu AMILO Xa35xx", 2506 SND_PCI_QUIRK_MASK(0x1734, 0xfff0, 0x1130, "Fujitsu AMILO Xa35xx",
2634 ALC888_FUJITSU_XA3530), 2507 ALC888_FUJITSU_XA3530),
2635 SND_PCI_QUIRK(0x17aa, 0x101e, "Lenovo 101e", ALC883_LENOVO_101E_2ch),
2636 SND_PCI_QUIRK(0x17aa, 0x2085, "Lenovo NB0763", ALC883_LENOVO_NB0763),
2637 SND_PCI_QUIRK(0x17aa, 0x3bfc, "Lenovo NB0763", ALC883_LENOVO_NB0763),
2638 SND_PCI_QUIRK(0x17aa, 0x3bfd, "Lenovo NB0763", ALC883_LENOVO_NB0763),
2639 SND_PCI_QUIRK(0x17c0, 0x4085, "MEDION MD96630", ALC888_LENOVO_MS7195_DIG),
2640 SND_PCI_QUIRK(0x17f2, 0x5000, "Albatron KI690-AM2", ALC883_6ST_DIG), 2508 SND_PCI_QUIRK(0x17f2, 0x5000, "Albatron KI690-AM2", ALC883_6ST_DIG),
2641 SND_PCI_QUIRK(0x1991, 0x5625, "Haier W66", ALC883_HAIER_W66),
2642 2509
2643 SND_PCI_QUIRK(0x8086, 0x0001, "DG33BUC", ALC883_3ST_6ch_INTEL), 2510 SND_PCI_QUIRK(0x8086, 0x0001, "DG33BUC", ALC883_3ST_6ch_INTEL),
2644 SND_PCI_QUIRK(0x8086, 0x0002, "DG33FBC", ALC883_3ST_6ch_INTEL), 2511 SND_PCI_QUIRK(0x8086, 0x0002, "DG33FBC", ALC883_3ST_6ch_INTEL),
@@ -3172,61 +3039,6 @@ static const struct alc_config_preset alc882_presets[] = {
3172 .setup = alc883_clevo_m720_setup, 3039 .setup = alc883_clevo_m720_setup,
3173 .init_hook = alc883_clevo_m720_init_hook, 3040 .init_hook = alc883_clevo_m720_init_hook,
3174 }, 3041 },
3175 [ALC883_LENOVO_101E_2ch] = {
3176 .mixers = { alc883_lenovo_101e_2ch_mixer},
3177 .init_verbs = { alc883_init_verbs, alc883_lenovo_101e_verbs},
3178 .num_dacs = ARRAY_SIZE(alc883_dac_nids),
3179 .dac_nids = alc883_dac_nids,
3180 .adc_nids = alc883_adc_nids_alt,
3181 .num_adc_nids = ARRAY_SIZE(alc883_adc_nids_alt),
3182 .capsrc_nids = alc883_capsrc_nids,
3183 .num_channel_mode = ARRAY_SIZE(alc883_3ST_2ch_modes),
3184 .channel_mode = alc883_3ST_2ch_modes,
3185 .input_mux = &alc883_lenovo_101e_capture_source,
3186 .setup = alc883_lenovo_101e_setup,
3187 .unsol_event = alc_sku_unsol_event,
3188 .init_hook = alc_inithook,
3189 },
3190 [ALC883_LENOVO_NB0763] = {
3191 .mixers = { alc883_lenovo_nb0763_mixer },
3192 .init_verbs = { alc883_init_verbs, alc883_lenovo_nb0763_verbs},
3193 .num_dacs = ARRAY_SIZE(alc883_dac_nids),
3194 .dac_nids = alc883_dac_nids,
3195 .num_channel_mode = ARRAY_SIZE(alc883_3ST_2ch_modes),
3196 .channel_mode = alc883_3ST_2ch_modes,
3197 .need_dac_fix = 1,
3198 .input_mux = &alc883_lenovo_nb0763_capture_source,
3199 .unsol_event = alc_sku_unsol_event,
3200 .setup = alc883_lenovo_nb0763_setup,
3201 .init_hook = alc_hp_automute,
3202 },
3203 [ALC888_LENOVO_MS7195_DIG] = {
3204 .mixers = { alc883_3ST_6ch_mixer, alc883_chmode_mixer },
3205 .init_verbs = { alc883_init_verbs, alc888_lenovo_ms7195_verbs},
3206 .num_dacs = ARRAY_SIZE(alc883_dac_nids),
3207 .dac_nids = alc883_dac_nids,
3208 .dig_out_nid = ALC883_DIGOUT_NID,
3209 .num_channel_mode = ARRAY_SIZE(alc883_3ST_6ch_modes),
3210 .channel_mode = alc883_3ST_6ch_modes,
3211 .need_dac_fix = 1,
3212 .input_mux = &alc883_capture_source,
3213 .unsol_event = alc_sku_unsol_event,
3214 .setup = alc888_lenovo_ms7195_setup,
3215 .init_hook = alc_inithook,
3216 },
3217 [ALC883_HAIER_W66] = {
3218 .mixers = { alc883_targa_2ch_mixer},
3219 .init_verbs = { alc883_init_verbs, alc883_haier_w66_verbs},
3220 .num_dacs = ARRAY_SIZE(alc883_dac_nids),
3221 .dac_nids = alc883_dac_nids,
3222 .dig_out_nid = ALC883_DIGOUT_NID,
3223 .num_channel_mode = ARRAY_SIZE(alc883_3ST_2ch_modes),
3224 .channel_mode = alc883_3ST_2ch_modes,
3225 .input_mux = &alc883_capture_source,
3226 .unsol_event = alc_sku_unsol_event,
3227 .setup = alc883_haier_w66_setup,
3228 .init_hook = alc_hp_automute,
3229 },
3230 [ALC888_3ST_HP] = { 3042 [ALC888_3ST_HP] = {
3231 .mixers = { alc883_3ST_6ch_mixer, alc883_chmode_mixer }, 3043 .mixers = { alc883_3ST_6ch_mixer, alc883_chmode_mixer },
3232 .init_verbs = { alc883_init_verbs, alc888_3st_hp_verbs }, 3044 .init_verbs = { alc883_init_verbs, alc888_3st_hp_verbs },