ALSA: hda - Apply 0x0f-VREF fix to all ASUS laptops with ALC861/660
authorTakashi Iwai <tiwai@suse.de>
Mon, 30 Jan 2012 09:54:08 +0000 (10:54 +0100)
committerTakashi Iwai <tiwai@suse.de>
Mon, 30 Jan 2012 15:26:07 +0000 (16:26 +0100)
commit31150f2327cbb66363f38e13ca1be973d2f9203a
treec12fbc5b2beaf9f763897786426bc82834cbd37e
parent8422fa110334cea79ab16c474902edb21a8b3168
ALSA: hda - Apply 0x0f-VREF fix to all ASUS laptops with ALC861/660

It turned out that other ASUS laptops require the similar fix to
enable the VREF on the pin 0x0f for the secret output amp, not only
ASUS A6Rp.  Moreover, it's required even when the pin is being used
as the output.  Thus, writing a fixed value doesn't work always.

This patch applies the VREF-fix for all ASUS laptops with ALC861/660
in a fixup function that checks the current value and turns on only
the VREF value no matter whether input or output direction is set.

The automute function is modified as well to keep the pin VREF upon
muting/unmuting via pin-control; otherwise the pin VREF is reset at
plugging/unplugging a jack.

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

Cc: <stable@kernel.org> [v3.2+]
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_realtek.c