summaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2013-12-02 15:04:03 +0100
committerTakashi Iwai <tiwai@suse.de>2013-12-02 15:40:14 +0100
commitb3bd4fc3822a6b5883eaa556822487d87752d443 (patch)
tree09bca4214a06ce4e0a93340e5f0ce9da7c854116 /sound
parentALSA: hda/analog - Handle inverted EAPD properly in vmaster hook (diff)
downloadlinux-b3bd4fc3822a6b5883eaa556822487d87752d443.tar.xz
linux-b3bd4fc3822a6b5883eaa556822487d87752d443.zip
ALSA: hda - Use always amps for auto-mute on AD1986A codec
It seems that AD1986A cannot manage the dynamic pin on/off for auto-muting, but rather gets confused. Since each output has own amp, let's use it instead. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=64971 Cc: <stable@vger.kernel.org> [v3.11+] Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/hda/patch_analog.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_analog.c b/sound/pci/hda/patch_analog.c
index f6351b8e0f5d..cac015be3325 100644
--- a/sound/pci/hda/patch_analog.c
+++ b/sound/pci/hda/patch_analog.c
@@ -361,6 +361,9 @@ static int patch_ad1986a(struct hda_codec *codec)
*/
spec->gen.multiout.no_share_stream = 1;
+ /* AD1986A can't manage the dynamic pin on/off smoothly */
+ spec->gen.auto_mute_via_amp = 1;
+
snd_hda_pick_fixup(codec, ad1986a_fixup_models, ad1986a_fixup_tbl,
ad1986a_fixups);
snd_hda_apply_fixup(codec, HDA_FIXUP_ACT_PRE_PROBE);