diff options
Diffstat (limited to 'sound')
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index f79a6d1cf524..395e99ce4fbd 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -5095,24 +5095,41 @@ static int alc861vd_parse_auto_config(struct hda_codec *codec) | |||
5095 | } | 5095 | } |
5096 | 5096 | ||
5097 | enum { | 5097 | enum { |
5098 | ALC660VD_FIX_ASUS_GPIO1 | 5098 | ALC660VD_FIX_ASUS_GPIO1, |
5099 | ALC861VD_FIX_DALLAS, | ||
5099 | }; | 5100 | }; |
5100 | 5101 | ||
5101 | /* reset GPIO1 */ | 5102 | /* exclude VREF80 */ |
5103 | static void alc861vd_fixup_dallas(struct hda_codec *codec, | ||
5104 | const struct alc_fixup *fix, int action) | ||
5105 | { | ||
5106 | if (action == ALC_FIXUP_ACT_PRE_PROBE) { | ||
5107 | snd_hda_override_pin_caps(codec, 0x18, 0x00001714); | ||
5108 | snd_hda_override_pin_caps(codec, 0x19, 0x0000171c); | ||
5109 | } | ||
5110 | } | ||
5111 | |||
5102 | static const struct alc_fixup alc861vd_fixups[] = { | 5112 | static const struct alc_fixup alc861vd_fixups[] = { |
5103 | [ALC660VD_FIX_ASUS_GPIO1] = { | 5113 | [ALC660VD_FIX_ASUS_GPIO1] = { |
5104 | .type = ALC_FIXUP_VERBS, | 5114 | .type = ALC_FIXUP_VERBS, |
5105 | .v.verbs = (const struct hda_verb[]) { | 5115 | .v.verbs = (const struct hda_verb[]) { |
5116 | /* reset GPIO1 */ | ||
5106 | {0x01, AC_VERB_SET_GPIO_MASK, 0x03}, | 5117 | {0x01, AC_VERB_SET_GPIO_MASK, 0x03}, |
5107 | {0x01, AC_VERB_SET_GPIO_DIRECTION, 0x01}, | 5118 | {0x01, AC_VERB_SET_GPIO_DIRECTION, 0x01}, |
5108 | {0x01, AC_VERB_SET_GPIO_DATA, 0x01}, | 5119 | {0x01, AC_VERB_SET_GPIO_DATA, 0x01}, |
5109 | { } | 5120 | { } |
5110 | } | 5121 | } |
5111 | }, | 5122 | }, |
5123 | [ALC861VD_FIX_DALLAS] = { | ||
5124 | .type = ALC_FIXUP_FUNC, | ||
5125 | .v.func = alc861vd_fixup_dallas, | ||
5126 | }, | ||
5112 | }; | 5127 | }; |
5113 | 5128 | ||
5114 | static const struct snd_pci_quirk alc861vd_fixup_tbl[] = { | 5129 | static const struct snd_pci_quirk alc861vd_fixup_tbl[] = { |
5130 | SND_PCI_QUIRK(0x103c, 0x30bf, "HP TX1000", ALC861VD_FIX_DALLAS), | ||
5115 | SND_PCI_QUIRK(0x1043, 0x1339, "ASUS A7-K", ALC660VD_FIX_ASUS_GPIO1), | 5131 | SND_PCI_QUIRK(0x1043, 0x1339, "ASUS A7-K", ALC660VD_FIX_ASUS_GPIO1), |
5132 | SND_PCI_QUIRK(0x1179, 0xff31, "Toshiba L30-149", ALC861VD_FIX_DALLAS), | ||
5116 | {} | 5133 | {} |
5117 | }; | 5134 | }; |
5118 | 5135 | ||