]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - sound/pci/hda/patch_realtek.c
ALSA: hda/realtek - Drop ALC882 desktop model quirks
[mirror_ubuntu-bionic-kernel.git] / sound / pci / hda / patch_realtek.c
index 5aa8deb4ae885c1fa9d8b41bf8a0f77b1068ffb0..c1fa4c3945d2a2b157987c10eb56110653e2b0bc 100644 (file)
@@ -4239,8 +4239,18 @@ enum {
        ALC883_FIXUP_EAPD,
        ALC883_FIXUP_ACER_EAPD,
        ALC882_FIXUP_GPIO3,
+       ALC889_FIXUP_COEF,
+       ALC882_FIXUP_ASUS_W2JC,
 };
 
+static void alc889_fixup_coef(struct hda_codec *codec,
+                             const struct alc_fixup *fix, int action)
+{
+       if (action != ALC_FIXUP_ACT_INIT)
+               return;
+       alc889_coef_init(codec);
+}
+
 static const struct alc_fixup alc882_fixups[] = {
        [ALC882_FIXUP_ABIT_AW9D_MAX] = {
                .type = ALC_FIXUP_PINS,
@@ -4323,6 +4333,16 @@ static const struct alc_fixup alc882_fixups[] = {
                .type = ALC_FIXUP_VERBS,
                .v.verbs = alc_gpio3_init_verbs,
        },
+       [ALC882_FIXUP_ASUS_W2JC] = {
+               .type = ALC_FIXUP_VERBS,
+               .v.verbs = alc_gpio1_init_verbs,
+               .chained = true,
+               .chain_id = ALC882_FIXUP_EAPD,
+       },
+       [ALC889_FIXUP_COEF] = {
+               .type = ALC_FIXUP_FUNC,
+               .v.func = alc889_fixup_coef,
+       },
 };
 
 static const struct snd_pci_quirk alc882_fixup_tbl[] = {
@@ -4336,6 +4356,7 @@ static const struct snd_pci_quirk alc882_fixup_tbl[] = {
        SND_PCI_QUIRK(0x1025, 0x0296, "Acer Aspire 7736z", ALC882_FIXUP_ACER_ASPIRE_7736),
        SND_PCI_QUIRK(0x1043, 0x13c2, "Asus A7M", ALC882_FIXUP_EAPD),
        SND_PCI_QUIRK(0x1043, 0x1873, "ASUS W90V", ALC882_FIXUP_ASUS_W90V),
+       SND_PCI_QUIRK(0x1043, 0x1971, "Asus W2JC", ALC882_FIXUP_ASUS_W2JC),
        SND_PCI_QUIRK(0x1043, 0x835f, "Asus Eee 1601", ALC888_FIXUP_EEE1601),
        SND_PCI_QUIRK(0x104d, 0x9047, "Sony Vaio TT", ALC889_FIXUP_VAIO_TT),
        SND_PCI_QUIRK(0x106b, 0x3200, "iMac 7,1 Aluminum", ALC882_FIXUP_EAPD), /* codec SSID */
@@ -4345,6 +4366,7 @@ static const struct snd_pci_quirk alc882_fixup_tbl[] = {
        SND_PCI_QUIRK_VENDOR(0x1558, "Clevo laptop", ALC882_FIXUP_EAPD),
        SND_PCI_QUIRK(0x161f, 0x2054, "Medion laptop", ALC883_FIXUP_EAPD),
        SND_PCI_QUIRK(0x17aa, 0x3a0d, "Lenovo Y530", ALC882_FIXUP_LENOVO_Y530),
+       SND_PCI_QUIRK(0x8086, 0x0022, "DX58SO", ALC889_FIXUP_COEF),
        {}
 };
 
@@ -4417,14 +4439,6 @@ static int patch_alc882(struct hda_codec *codec)
                err = alc882_parse_auto_config(codec);
                if (err < 0)
                        goto error;
-#ifdef CONFIG_SND_HDA_ENABLE_REALTEK_QUIRKS
-               else if (!err) {
-                       printk(KERN_INFO
-                              "hda_codec: Cannot set up configuration "
-                              "from BIOS.  Using base mode...\n");
-                       board_config = ALC882_3ST_DIG;
-               }
-#endif
        }
 
        if (board_config != ALC_MODEL_AUTO)