aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2007-06-08 12:25:25 +0200
committerJaroslav Kysela <perex@suse.cz>2007-07-20 11:11:26 +0200
commitb959d1f83fc9cb707aef86ccb3f65e20f9572428 (patch)
tree444ee93186d47e3bb8d8c543d225dc61c29e4291 /sound/pci
parentbc55197d5a19a58c63f826dbd326da70e97b88f8 (diff)
downloadkernel_samsung_aries-b959d1f83fc9cb707aef86ccb3f65e20f9572428.zip
kernel_samsung_aries-b959d1f83fc9cb707aef86ccb3f65e20f9572428.tar.gz
kernel_samsung_aries-b959d1f83fc9cb707aef86ccb3f65e20f9572428.tar.bz2
[ALSA] hda-codec - Fix Thinkpad X61/T61 outputs
Enable EAPD bit on Thinkpad X61/T61. The recent model requires it explicitly to make any sounds. In future, it should be toggled automatically on demand. Also, added a beep volume/switch. Some people like it although I don't understand why :) Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Diffstat (limited to 'sound/pci')
-rw-r--r--sound/pci/hda/patch_analog.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_analog.c b/sound/pci/hda/patch_analog.c
index dff2e79..760c897 100644
--- a/sound/pci/hda/patch_analog.c
+++ b/sound/pci/hda/patch_analog.c
@@ -2982,6 +2982,8 @@ static struct snd_kcontrol_new ad1984_thinkpad_mixers[] = {
HDA_CODEC_VOLUME("Mic Boost", 0x14, 0x0, HDA_INPUT),
HDA_CODEC_VOLUME("Internal Mic Boost", 0x15, 0x0, HDA_INPUT),
HDA_CODEC_VOLUME("Docking Mic Boost", 0x25, 0x0, HDA_OUTPUT),
+ HDA_CODEC_VOLUME("Beep Playback Volume", 0x20, 0x03, HDA_INPUT),
+ HDA_CODEC_MUTE("Beep Playback Switch", 0x20, 0x03, HDA_INPUT),
HDA_CODEC_VOLUME("Capture Volume", 0x0c, 0x0, HDA_OUTPUT),
HDA_CODEC_MUTE("Capture Switch", 0x0c, 0x0, HDA_OUTPUT),
HDA_CODEC_VOLUME_IDX("Capture Volume", 1, 0x0d, 0x0, HDA_OUTPUT),
@@ -3011,6 +3013,8 @@ static struct hda_verb ad1984_thinkpad_init_verbs[] = {
{0x25, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE},
/* Analog mixer - docking mic; mute as default */
{0x20, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(4)},
+ /* enable EAPD bit */
+ {0x12, AC_VERB_SET_EAPD_BTLENABLE, 0x02},
{ } /* end */
};