OSDN Git Service

ALSA: hda - Sync EAPD with vmaster on AD1984A Thinkpads
authorTakashi Iwai <tiwai@suse.de>
Fri, 25 Oct 2013 22:33:58 +0000 (00:33 +0200)
committerTakashi Iwai <tiwai@suse.de>
Fri, 25 Oct 2013 22:33:58 +0000 (00:33 +0200)
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>
sound/pci/hda/patch_analog.c

index 2aa2f57..87d2e03 100644 (file)
@@ -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 */