ALSA: hda/conexant - Use generic parser for Toshiba P105
authorTakashi Iwai <tiwai@suse.de>
Mon, 27 Jan 2014 15:56:39 +0000 (16:56 +0100)
committerTakashi Iwai <tiwai@suse.de>
Thu, 30 Jan 2014 11:39:12 +0000 (12:39 +0100)
We need to fix bogus pincfgs on this machine, but it works well else.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_conexant.c

index a595746..3fdb04f 100644 (file)
@@ -1011,7 +1011,6 @@ static const char * const cxt5045_models[CXT5045_MODELS] = {
 
 static const struct snd_pci_quirk cxt5045_cfg_tbl[] = {
        SND_PCI_QUIRK(0x103c, 0x30d5, "HP 530", CXT5045_LAPTOP_HP530),
-       SND_PCI_QUIRK(0x1179, 0xff31, "Toshiba P105", CXT5045_LAPTOP_MICSENSE),
        SND_PCI_QUIRK(0x152d, 0x0753, "Benq R55E", CXT5045_BENQ),
        SND_PCI_QUIRK(0x1734, 0x10ad, "Fujitsu Si1520", CXT5045_LAPTOP_MICSENSE),
        SND_PCI_QUIRK(0x1734, 0x10cb, "Fujitsu Si3515", CXT5045_LAPTOP_HPMICSENSE),
@@ -2873,6 +2872,7 @@ enum {
        CXT_FIXUP_THINKPAD_ACPI,
        CXT_FIXUP_OLPC_XO,
        CXT_FIXUP_CAP_MIX_AMP,
+       CXT_FIXUP_TOSHIBA_P105,
 };
 
 /* for hda_fixup_thinkpad_acpi() */
@@ -3311,9 +3311,19 @@ static const struct hda_fixup cxt_fixups[] = {
                .type = HDA_FIXUP_FUNC,
                .v.func = cxt_fixup_cap_mix_amp,
        },
+       [CXT_FIXUP_TOSHIBA_P105] = {
+               .type = HDA_FIXUP_PINS,
+               .v.pins = (const struct hda_pintbl[]) {
+                       { 0x10, 0x961701f0 }, /* speaker/hp */
+                       { 0x12, 0x02a1901e }, /* ext mic */
+                       { 0x14, 0x95a70110 }, /* int mic */
+                       {}
+               },
+       },
 };
 
 static const struct snd_pci_quirk cxt5045_fixups[] = {
+       SND_PCI_QUIRK(0x1179, 0xff31, "Toshiba P105", CXT_FIXUP_TOSHIBA_P105),
        /* HP, Packard Bell, Fujitsu-Siemens & Lenovo laptops have
         * really bad sound over 0dB on NID 0x17.
         */
@@ -3326,6 +3336,7 @@ static const struct snd_pci_quirk cxt5045_fixups[] = {
 
 static const struct hda_model_fixup cxt5045_fixup_models[] = {
        { .id = CXT_FIXUP_CAP_MIX_AMP, .name = "cap-mix-amp" },
+       { .id = CXT_FIXUP_TOSHIBA_P105, .name = "toshiba-p105" },
        {}
 };