diff options
author | Takashi Iwai <tiwai@suse.de> | 2012-02-17 11:54:44 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2012-02-17 11:59:22 -0500 |
commit | b9368f5c10b15f2b79a58666849827edc1f2f3d4 (patch) | |
tree | f6750197e59fdcc2d7cc8e2b78584adb244c790d /sound/pci/hda/alc880_quirks.c | |
parent | 27e917f82bfcf8c51a2c025ddfb69e0b5947f50b (diff) |
ALSA: hda/realtek - Replace ALC880 model=tcl with auto-parser
It needs a few extra setups for EAPD, but others look fairly
straightforward.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/alc880_quirks.c')
-rw-r--r-- | sound/pci/hda/alc880_quirks.c | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/sound/pci/hda/alc880_quirks.c b/sound/pci/hda/alc880_quirks.c index b64d2464a780..56f8fa1e3460 100644 --- a/sound/pci/hda/alc880_quirks.c +++ b/sound/pci/hda/alc880_quirks.c | |||
@@ -22,7 +22,6 @@ enum { | |||
22 | ALC880_UNIWILL_DIG, | 22 | ALC880_UNIWILL_DIG, |
23 | ALC880_UNIWILL, | 23 | ALC880_UNIWILL, |
24 | ALC880_UNIWILL_P53, | 24 | ALC880_UNIWILL_P53, |
25 | ALC880_TCL_S700, | ||
26 | #ifdef CONFIG_SND_DEBUG | 25 | #ifdef CONFIG_SND_DEBUG |
27 | ALC880_TEST, | 26 | ALC880_TEST, |
28 | #endif | 27 | #endif |
@@ -344,20 +343,6 @@ static const struct snd_kcontrol_new alc880_asus_w1v_mixer[] = { | |||
344 | { } /* end */ | 343 | { } /* end */ |
345 | }; | 344 | }; |
346 | 345 | ||
347 | /* TCL S700 */ | ||
348 | static const struct snd_kcontrol_new alc880_tcl_s700_mixer[] = { | ||
349 | HDA_CODEC_VOLUME("Front Playback Volume", 0x0c, 0x0, HDA_OUTPUT), | ||
350 | HDA_CODEC_MUTE("Front Playback Switch", 0x1b, 0x0, HDA_OUTPUT), | ||
351 | HDA_CODEC_MUTE("Headphone Playback Switch", 0x14, 0x0, HDA_OUTPUT), | ||
352 | HDA_CODEC_VOLUME("CD Playback Volume", 0x0B, 0x04, HDA_INPUT), | ||
353 | HDA_CODEC_MUTE("CD Playback Switch", 0x0B, 0x04, HDA_INPUT), | ||
354 | HDA_CODEC_VOLUME("Mic Playback Volume", 0x0B, 0x0, HDA_INPUT), | ||
355 | HDA_CODEC_MUTE("Mic Playback Switch", 0x0B, 0x0, HDA_INPUT), | ||
356 | HDA_CODEC_VOLUME("Capture Volume", 0x08, 0x0, HDA_INPUT), | ||
357 | HDA_CODEC_MUTE("Capture Switch", 0x08, 0x0, HDA_INPUT), | ||
358 | { } /* end */ | ||
359 | }; | ||
360 | |||
361 | /* Uniwill */ | 346 | /* Uniwill */ |
362 | static const struct snd_kcontrol_new alc880_uniwill_mixer[] = { | 347 | static const struct snd_kcontrol_new alc880_uniwill_mixer[] = { |
363 | HDA_CODEC_VOLUME("Headphone Playback Volume", 0x0c, 0x0, HDA_OUTPUT), | 348 | HDA_CODEC_VOLUME("Headphone Playback Volume", 0x0c, 0x0, HDA_OUTPUT), |
@@ -808,31 +793,6 @@ static const struct hda_verb alc880_pin_asus_init_verbs[] = { | |||
808 | #define alc880_gpio2_init_verbs alc_gpio2_init_verbs | 793 | #define alc880_gpio2_init_verbs alc_gpio2_init_verbs |
809 | #define alc880_gpio3_init_verbs alc_gpio3_init_verbs | 794 | #define alc880_gpio3_init_verbs alc_gpio3_init_verbs |
810 | 795 | ||
811 | static const struct hda_verb alc880_pin_tcl_S700_init_verbs[] = { | ||
812 | /* change to EAPD mode */ | ||
813 | {0x20, AC_VERB_SET_COEF_INDEX, 0x07}, | ||
814 | {0x20, AC_VERB_SET_PROC_COEF, 0x3060}, | ||
815 | |||
816 | /* Headphone output */ | ||
817 | {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP}, | ||
818 | /* Front output*/ | ||
819 | {0x1b, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT}, | ||
820 | {0x1b, AC_VERB_SET_CONNECT_SEL, 0x00}, | ||
821 | |||
822 | /* Line In pin widget for input */ | ||
823 | {0x1a, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN}, | ||
824 | /* CD pin widget for input */ | ||
825 | {0x1c, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN}, | ||
826 | /* Mic1 (rear panel) pin widget for input and vref at 80% */ | ||
827 | {0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80}, | ||
828 | |||
829 | /* change to EAPD mode */ | ||
830 | {0x20, AC_VERB_SET_COEF_INDEX, 0x07}, | ||
831 | {0x20, AC_VERB_SET_PROC_COEF, 0x3070}, | ||
832 | |||
833 | { } | ||
834 | }; | ||
835 | |||
836 | /* | 796 | /* |
837 | * Test configuration for debugging | 797 | * Test configuration for debugging |
838 | * | 798 | * |
@@ -1102,7 +1062,6 @@ static const struct hda_verb alc880_test_init_verbs[] = { | |||
1102 | 1062 | ||
1103 | static const char * const alc880_models[ALC880_MODEL_LAST] = { | 1063 | static const char * const alc880_models[ALC880_MODEL_LAST] = { |
1104 | [ALC880_3ST] = "3stack", | 1064 | [ALC880_3ST] = "3stack", |
1105 | [ALC880_TCL_S700] = "tcl", | ||
1106 | [ALC880_3ST_DIG] = "3stack-digout", | 1065 | [ALC880_3ST_DIG] = "3stack-digout", |
1107 | [ALC880_5ST] = "5stack", | 1066 | [ALC880_5ST] = "5stack", |
1108 | [ALC880_5ST_DIG] = "5stack-digout", | 1067 | [ALC880_5ST_DIG] = "5stack-digout", |
@@ -1169,7 +1128,6 @@ static const struct snd_pci_quirk alc880_cfg_tbl[] = { | |||
1169 | SND_PCI_QUIRK(0x1734, 0x1094, "FSC Amilo M1451G", ALC880_FUJITSU), | 1128 | SND_PCI_QUIRK(0x1734, 0x1094, "FSC Amilo M1451G", ALC880_FUJITSU), |
1170 | SND_PCI_QUIRK(0x1734, 0x10ac, "FSC AMILO Xi 1526", ALC880_F1734), | 1129 | SND_PCI_QUIRK(0x1734, 0x10ac, "FSC AMILO Xi 1526", ALC880_F1734), |
1171 | SND_PCI_QUIRK(0x1734, 0x10b0, "Fujitsu", ALC880_FUJITSU), | 1130 | SND_PCI_QUIRK(0x1734, 0x10b0, "Fujitsu", ALC880_FUJITSU), |
1172 | SND_PCI_QUIRK(0x19db, 0x4188, "TCL S700", ALC880_TCL_S700), | ||
1173 | SND_PCI_QUIRK(0x2668, 0x8086, NULL, ALC880_6ST_DIG), /* broken BIOS */ | 1131 | SND_PCI_QUIRK(0x2668, 0x8086, NULL, ALC880_6ST_DIG), /* broken BIOS */ |
1174 | SND_PCI_QUIRK(0x8086, 0x2668, NULL, ALC880_6ST_DIG), | 1132 | SND_PCI_QUIRK(0x8086, 0x2668, NULL, ALC880_6ST_DIG), |
1175 | SND_PCI_QUIRK(0x8086, 0xa100, "Intel mobo", ALC880_5ST_DIG), | 1133 | SND_PCI_QUIRK(0x8086, 0xa100, "Intel mobo", ALC880_5ST_DIG), |
@@ -1216,20 +1174,6 @@ static const struct alc_config_preset alc880_presets[] = { | |||
1216 | .need_dac_fix = 1, | 1174 | .need_dac_fix = 1, |
1217 | .input_mux = &alc880_capture_source, | 1175 | .input_mux = &alc880_capture_source, |
1218 | }, | 1176 | }, |
1219 | [ALC880_TCL_S700] = { | ||
1220 | .mixers = { alc880_tcl_s700_mixer }, | ||
1221 | .init_verbs = { alc880_volume_init_verbs, | ||
1222 | alc880_pin_tcl_S700_init_verbs, | ||
1223 | alc880_gpio2_init_verbs }, | ||
1224 | .num_dacs = ARRAY_SIZE(alc880_dac_nids), | ||
1225 | .dac_nids = alc880_dac_nids, | ||
1226 | .adc_nids = alc880_adc_nids_alt, /* FIXME: correct? */ | ||
1227 | .num_adc_nids = 1, /* single ADC */ | ||
1228 | .hp_nid = 0x03, | ||
1229 | .num_channel_mode = ARRAY_SIZE(alc880_2_jack_modes), | ||
1230 | .channel_mode = alc880_2_jack_modes, | ||
1231 | .input_mux = &alc880_capture_source, | ||
1232 | }, | ||
1233 | [ALC880_5ST] = { | 1177 | [ALC880_5ST] = { |
1234 | .mixers = { alc880_three_stack_mixer, | 1178 | .mixers = { alc880_three_stack_mixer, |
1235 | alc880_five_stack_mixer}, | 1179 | alc880_five_stack_mixer}, |