ALSA: hda: Fix 0 dB for Lenovo models using Conexant CX20549 (Venice)

Reference: http://mailman.alsa-project.org/pipermail/alsa-devel/2010-May/027525.html

As reported on the mailing list, we also need to cap to the 0 dB offset
for Lenovo models, else the sound will be distorted.

Reported-and-Tested-by: Tim Starling <tstarling@wikimedia.org>
Cc: <stable@kernel.org>
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Daniel T Chen 2010-05-10 21:50:04 +02:00 committed by Takashi Iwai
parent 482c453315
commit 0ebf9e3692
1 changed files with 4 additions and 3 deletions

View File

@ -1197,9 +1197,10 @@ static int patch_cxt5045(struct hda_codec *codec)
case 0x103c: case 0x103c:
case 0x1631: case 0x1631:
case 0x1734: case 0x1734:
/* HP, Packard Bell, & Fujitsu-Siemens laptops have really bad case 0x17aa:
* sound over 0dB on NID 0x17. Fix max PCM level to 0 dB /* HP, Packard Bell, Fujitsu-Siemens & Lenovo laptops have
* (originally it has 0x2b steps with 0dB offset 0x14) * really bad sound over 0dB on NID 0x17. Fix max PCM level to
* 0 dB (originally it has 0x2b steps with 0dB offset 0x14)
*/ */
snd_hda_override_amp_caps(codec, 0x17, HDA_INPUT, snd_hda_override_amp_caps(codec, 0x17, HDA_INPUT,
(0x14 << AC_AMPCAP_OFFSET_SHIFT) | (0x14 << AC_AMPCAP_OFFSET_SHIFT) |