diff options
author | Takashi Iwai <tiwai@suse.de> | 2007-06-08 12:25:25 +0200 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2007-07-20 11:11:26 +0200 |
commit | b959d1f83fc9cb707aef86ccb3f65e20f9572428 (patch) | |
tree | 444ee93186d47e3bb8d8c543d225dc61c29e4291 /sound/pci | |
parent | [ALSA] soc/sh: let SND_SOC_PCM_SH7760 depend on SH_DMABRG (diff) | |
download | linux-b959d1f83fc9cb707aef86ccb3f65e20f9572428.tar.xz linux-b959d1f83fc9cb707aef86ccb3f65e20f9572428.zip |
[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.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_analog.c b/sound/pci/hda/patch_analog.c index dff2e7917885..760c897cde7c 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 */ }; |