ALSA: hda/realtek - Drop ALC880 model=clevo
authorTakashi Iwai <tiwai@suse.de>
Fri, 17 Feb 2012 16:49:54 +0000 (17:49 +0100)
committerTakashi Iwai <tiwai@suse.de>
Fri, 17 Feb 2012 16:59:16 +0000 (17:59 +0100)
Clevo machines with ALC880 are all well with proper BIOS setup.
It seems still requiring the additional COEF setup for the EAPD.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Documentation/sound/alsa/HD-Audio-Models.txt
sound/pci/hda/alc880_quirks.c
sound/pci/hda/patch_realtek.c

index 24df3ab419324f788b3ce0daabdb35681e4a5805..58e8aac40a9813df2477ad378e8134aa1b2da365 100644 (file)
@@ -18,7 +18,6 @@ ALC880
   F1734                2-jack
   lg-lw                LG LW20/LW25 laptop
   tcl          TCL S700
-  clevo                Clevo laptops (m520G, m665n)
   medion       Medion Rim 2150
   test         for testing/debugging purpose, almost all controls can be
                adjusted.  Appearing only when compiled with
index 41aecda30a878bb5d2938d52062c5a91f49797dd..b64d2464a780101f71540c6edd58fbbd4ae26e60 100644 (file)
@@ -22,7 +22,6 @@ enum {
        ALC880_UNIWILL_DIG,
        ALC880_UNIWILL,
        ALC880_UNIWILL_P53,
-       ALC880_CLEVO,
        ALC880_TCL_S700,
 #ifdef CONFIG_SND_DEBUG
        ALC880_TEST,
@@ -809,35 +808,6 @@ static const struct hda_verb alc880_pin_asus_init_verbs[] = {
 #define alc880_gpio2_init_verbs        alc_gpio2_init_verbs
 #define alc880_gpio3_init_verbs        alc_gpio3_init_verbs
 
-/* Clevo m520g init */
-static const struct hda_verb alc880_pin_clevo_init_verbs[] = {
-       /* headphone output */
-       {0x11, AC_VERB_SET_CONNECT_SEL, 0x01},
-       /* line-out */
-       {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT},
-       {0x14, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
-       /* Line-in */
-       {0x1a, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN},
-       {0x1a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
-       /* CD */
-       {0x1c, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN},
-       {0x1c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
-       /* Mic1 (rear panel) */
-       {0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80},
-       {0x18, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
-       /* Mic2 (front panel) */
-       {0x1b, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80},
-       {0x1b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
-       /* headphone */
-       {0x19, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP},
-       {0x19, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
-        /* change to EAPD mode */
-       {0x20, AC_VERB_SET_COEF_INDEX, 0x07},
-       {0x20, AC_VERB_SET_PROC_COEF,  0x3060},
-
-       { }
-};
-
 static const struct hda_verb alc880_pin_tcl_S700_init_verbs[] = {
        /* change to EAPD mode */
        {0x20, AC_VERB_SET_COEF_INDEX, 0x07},
@@ -1134,7 +1104,6 @@ static const char * const alc880_models[ALC880_MODEL_LAST] = {
        [ALC880_3ST]            = "3stack",
        [ALC880_TCL_S700]       = "tcl",
        [ALC880_3ST_DIG]        = "3stack-digout",
-       [ALC880_CLEVO]          = "clevo",
        [ALC880_5ST]            = "5stack",
        [ALC880_5ST_DIG]        = "5stack-digout",
        [ALC880_Z71V]           = "z71v",
@@ -1188,8 +1157,6 @@ static const struct snd_pci_quirk alc880_cfg_tbl[] = {
        SND_PCI_QUIRK(0x1458, 0xa102, "Gigabyte K8", ALC880_6ST_DIG),
        SND_PCI_QUIRK(0x1462, 0x1150, "MSI", ALC880_6ST_DIG),
        SND_PCI_QUIRK(0x1509, 0x925d, "FIC P4M", ALC880_6ST_DIG),
-       SND_PCI_QUIRK(0x1558, 0x0520, "Clevo m520G", ALC880_CLEVO),
-       SND_PCI_QUIRK(0x1558, 0x0660, "Clevo m655n", ALC880_CLEVO),
        SND_PCI_QUIRK(0x1558, 0x5401, "ASUS", ALC880_ASUS_DIG2),
        SND_PCI_QUIRK(0x1565, 0x8202, "Biostar", ALC880_5ST_DIG),
        SND_PCI_QUIRK(0x1584, 0x9050, "Uniwill", ALC880_UNIWILL_DIG),
@@ -1439,18 +1406,6 @@ static const struct alc_config_preset alc880_presets[] = {
                .setup = alc880_uniwill_p53_setup,
                .init_hook = alc_hp_automute,
        },
-       [ALC880_CLEVO] = {
-               .mixers = { alc880_three_stack_mixer },
-               .init_verbs = { alc880_volume_init_verbs,
-                               alc880_pin_clevo_init_verbs },
-               .num_dacs = ARRAY_SIZE(alc880_dac_nids),
-               .dac_nids = alc880_dac_nids,
-               .hp_nid = 0x03,
-               .num_channel_mode = ARRAY_SIZE(alc880_threestack_modes),
-               .channel_mode = alc880_threestack_modes,
-               .need_dac_fix = 1,
-               .input_mux = &alc880_capture_source,
-       },
 #ifdef CONFIG_SND_DEBUG
        [ALC880_TEST] = {
                .mixers = { alc880_test_mixer },
index a0df05d03864ca6e8455f70cf2a583ef9124269f..4f8c36207997d3d60178f8cb7a0023b9cbee9b11 100644 (file)
@@ -4406,6 +4406,7 @@ enum {
        ALC880_FIXUP_MEDION_RIM,
        ALC880_FIXUP_LG,
        ALC880_FIXUP_W810,
+       ALC880_FIXUP_EAPD_COEF,
 };
 
 static const struct alc_fixup alc880_fixups[] = {
@@ -4443,10 +4444,20 @@ static const struct alc_fixup alc880_fixups[] = {
                .chained = true,
                .chain_id = ALC880_FIXUP_GPIO2,
        },
+       [ALC880_FIXUP_EAPD_COEF] = {
+               .type = ALC_FIXUP_VERBS,
+               .v.verbs = (const struct hda_verb[]) {
+                       /* change to EAPD mode */
+                       { 0x20, AC_VERB_SET_COEF_INDEX, 0x07 },
+                       { 0x20, AC_VERB_SET_PROC_COEF,  0x3060 },
+                       {}
+               },
+       },
 };
 
 static const struct snd_pci_quirk alc880_fixup_tbl[] = {
        SND_PCI_QUIRK(0x1019, 0x0f69, "Coeus G610P", ALC880_FIXUP_W810),
+       SND_PCI_QUIRK_VENDOR(0x1558, "Clevo", ALC880_FIXUP_EAPD_COEF),
        SND_PCI_QUIRK(0x161f, 0x203d, "W810", ALC880_FIXUP_W810),
        SND_PCI_QUIRK(0x161f, 0x205d, "Medion Rim 2150", ALC880_FIXUP_MEDION_RIM),
        SND_PCI_QUIRK(0x1854, 0x003b, "LG", ALC880_FIXUP_LG),