mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
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>
This commit is contained in:
parent
6ddf0fd1c4
commit
1cd9b2f78b
1 changed files with 1 additions and 0 deletions
|
@ -962,6 +962,7 @@ static void ad1884_fixup_hp_eapd(struct hda_codec *codec,
|
||||||
switch (action) {
|
switch (action) {
|
||||||
case HDA_FIXUP_ACT_PRE_PROBE:
|
case HDA_FIXUP_ACT_PRE_PROBE:
|
||||||
spec->gen.vmaster_mute.hook = ad1884_vmaster_hp_gpio_hook;
|
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);
|
snd_hda_sequence_write_cache(codec, gpio_init_verbs);
|
||||||
break;
|
break;
|
||||||
case HDA_FIXUP_ACT_PROBE:
|
case HDA_FIXUP_ACT_PROBE:
|
||||||
|
|
Loading…
Reference in a new issue