提交 3b25eb69 编写于 作者: T Takashi Iwai

ALSA: hda - Fix silent output on ASUS A6Rp

The refactoring of Realtek codec driver in 3.2 kernel caused a
regression for ASUS A6Rp laptop; it doesn't give any output.
The reason was that this machine has a secret master mute (or EAPD)
control via NID 0x0f VREF.  Setting VREF50 on this node makes the
sound working again.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=42588

Cc: <stable@kernel.org> [v3.2+]
Signed-off-by: NTakashi Iwai <tiwai@suse.de>
上级 769fab2a
...@@ -5586,6 +5586,7 @@ static const struct hda_amp_list alc861_loopbacks[] = { ...@@ -5586,6 +5586,7 @@ static const struct hda_amp_list alc861_loopbacks[] = {
/* Pin config fixes */ /* Pin config fixes */
enum { enum {
PINFIX_FSC_AMILO_PI1505, PINFIX_FSC_AMILO_PI1505,
PINFIX_ASUS_A6RP,
}; };
static const struct alc_fixup alc861_fixups[] = { static const struct alc_fixup alc861_fixups[] = {
...@@ -5597,9 +5598,18 @@ static const struct alc_fixup alc861_fixups[] = { ...@@ -5597,9 +5598,18 @@ static const struct alc_fixup alc861_fixups[] = {
{ } { }
} }
}, },
[PINFIX_ASUS_A6RP] = {
.type = ALC_FIXUP_VERBS,
.v.verbs = (const struct hda_verb[]) {
/* node 0x0f VREF seems controlling the master output */
{ 0x0f, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF50 },
{ }
},
},
}; };
static const struct snd_pci_quirk alc861_fixup_tbl[] = { static const struct snd_pci_quirk alc861_fixup_tbl[] = {
SND_PCI_QUIRK(0x1043, 0x1393, "ASUS A6Rp", PINFIX_ASUS_A6RP),
SND_PCI_QUIRK(0x1734, 0x10c7, "FSC Amilo Pi1505", PINFIX_FSC_AMILO_PI1505), SND_PCI_QUIRK(0x1734, 0x10c7, "FSC Amilo Pi1505", PINFIX_FSC_AMILO_PI1505),
{} {}
}; };
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册