summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2013-12-02 12:19:45 (GMT)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-12-12 06:37:51 (GMT)
commit4d44f47221dc6ad652c741c1a1fbedb72e2981da (patch)
treeadff08a3e74b145f5b745c870c3899c9716e0c0d /sound
parentf4dbed48ef575305bb0d3249f66e5d6d4cc7fb17 (diff)
downloadlinux-fsl-qoriq-4d44f47221dc6ad652c741c1a1fbedb72e2981da.tar.xz
ALSA: hda - Fix bad EAPD setup for HP machines with AD1984A
commit 1cd9b2f78bf29d5282e02b32f9b3ecebc5842a7c upstream. It seems that EAPD on NID 0x16 is the only control over all outputs on HP machines with AD1984A while turning EAPD on NID 0x12 breaks the output. Thus we need to avoid fiddling EAPD on NID. As a quick workaround, just set own_eapd_ctrl flag for the wrong EAPD, then implement finer EAPD controls. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=66321 Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/hda/patch_analog.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_analog.c b/sound/pci/hda/patch_analog.c
index 463b9bd..f684a4f 100644
--- a/sound/pci/hda/patch_analog.c
+++ b/sound/pci/hda/patch_analog.c
@@ -964,6 +964,7 @@ static void ad1884_fixup_hp_eapd(struct hda_codec *codec,
switch (action) {
case HDA_FIXUP_ACT_PRE_PROBE:
spec->gen.vmaster_mute.hook = ad1884_vmaster_hp_gpio_hook;
+ spec->gen.own_eapd_ctl = 1;
snd_hda_sequence_write_cache(codec, gpio_init_verbs);
break;
case HDA_FIXUP_ACT_PROBE: