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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 13 Feb 2012 19:16:50 +0000 (11:16 -0800)
commit4f53e64f2effdcbd8f563411031fdc5172f876ce
tree17d8e2a04134d6048e32d765658f39775681f868
parentab692dfced98f2967cf710941d686e66cf519afb
ALSA: hda - Apply 0x0f-VREF fix to all ASUS laptops with ALC861/660

commit 31150f2327cbb66363f38e13ca1be973d2f9203a upstream.

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

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/pci/hda/patch_realtek.c