summaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2013-10-26 00:33:58 +0200
committerTakashi Iwai <tiwai@suse.de>2013-10-26 00:33:58 +0200
commitafb5a7793144179bfd856e3c928b69c43e2a1d8a (patch)
treee3d468540dd5964591558758d547e78affc2412a /sound
parentMerge branch 'for-linus' into for-next (diff)
downloadlinux-afb5a7793144179bfd856e3c928b69c43e2a1d8a.tar.xz
linux-afb5a7793144179bfd856e3c928b69c43e2a1d8a.zip
ALSA: hda - Sync EAPD with vmaster on AD1984A Thinkpads
As EAPD on NID 0x12 (speaker pin) is used as the master amp on Thinkpads with AD1984A codec, we can hook this to vmaster for saving a bit more power at master mute state. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/hda/patch_analog.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sound/pci/hda/patch_analog.c b/sound/pci/hda/patch_analog.c
index 2aa2f579b4d6..87d2e0335ae4 100644
--- a/sound/pci/hda/patch_analog.c
+++ b/sound/pci/hda/patch_analog.c
@@ -973,8 +973,11 @@ static void ad1884_fixup_thinkpad(struct hda_codec *codec,
{
struct ad198x_spec *spec = codec->spec;
- if (action == HDA_FIXUP_ACT_PRE_PROBE)
+ if (action == HDA_FIXUP_ACT_PRE_PROBE) {
spec->gen.keep_eapd_on = 1;
+ spec->gen.vmaster_mute.hook = ad_vmaster_eapd_hook;
+ spec->eapd_nid = 0x12;
+ }
}
/* set magic COEFs for dmic */