aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2009-07-07 13:43:35 +0200
committerTakashi Iwai <tiwai@suse.de>2009-07-07 13:44:29 +0200
commitd3a11e601a51291fbdd40c47f6af6769b6e905ef (patch)
tree9072b4399ea0b97a2bfbb54f5c6291f491a70312
parent55d1d6c1ef630dddd3cb5354c32a5aca954399e8 (diff)
downloadkernel_samsung_crespo-d3a11e601a51291fbdd40c47f6af6769b6e905ef.zip
kernel_samsung_crespo-d3a11e601a51291fbdd40c47f6af6769b6e905ef.tar.gz
kernel_samsung_crespo-d3a11e601a51291fbdd40c47f6af6769b6e905ef.tar.bz2
ALSA: hda - Add missing EAPD initialization for VIA codecs
If the output pin is used and EAPD capability is present, turn on the EAPD bit. This fixes the silent output problem on ASUS laptops with VT1708S codec. Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/pci/hda/patch_via.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_via.c b/sound/pci/hda/patch_via.c
index c4ddbbc..322e102 100644
--- a/sound/pci/hda/patch_via.c
+++ b/sound/pci/hda/patch_via.c
@@ -320,6 +320,9 @@ static void via_auto_set_output_and_unmute(struct hda_codec *codec,
pin_type);
snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_AMP_GAIN_MUTE,
AMP_OUT_UNMUTE);
+ if (snd_hda_query_pin_caps(codec, nid) & AC_PINCAP_EAPD)
+ snd_hda_codec_write(codec, nid, 0,
+ AC_VERB_SET_EAPD_BTLENABLE, 0x02);
}