aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2013-12-02 07:19:45 -0500
committerTakashi Iwai <tiwai@suse.de>2013-12-02 07:23:39 -0500
commit1cd9b2f78bf29d5282e02b32f9b3ecebc5842a7c (patch)
tree979486453bd36dca6fd650d60c2c5fc7811d0090
parent6ddf0fd1c462a418a3cbb8b0653820dc48ffbd98 (diff)
ALSA: hda - Fix bad EAPD setup for HP machines with AD1984A
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 Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-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 1a83559f4cbd..34d86ec5d3dd 100644
--- a/sound/pci/hda/patch_analog.c
+++ b/sound/pci/hda/patch_analog.c
@@ -962,6 +962,7 @@ static void ad1884_fixup_hp_eapd(struct hda_codec *codec,
962 switch (action) { 962 switch (action) {
963 case HDA_FIXUP_ACT_PRE_PROBE: 963 case HDA_FIXUP_ACT_PRE_PROBE:
964 spec->gen.vmaster_mute.hook = ad1884_vmaster_hp_gpio_hook; 964 spec->gen.vmaster_mute.hook = ad1884_vmaster_hp_gpio_hook;
965 spec->gen.own_eapd_ctl = 1;
965 snd_hda_sequence_write_cache(codec, gpio_init_verbs); 966 snd_hda_sequence_write_cache(codec, gpio_init_verbs);
966 break; 967 break;
967 case HDA_FIXUP_ACT_PROBE: 968 case HDA_FIXUP_ACT_PROBE: