Skip to content

Commit

Permalink
ALSA: hda: Fix max PCM level to 0 dB for AD1981_HP
Browse files Browse the repository at this point in the history
BugLink: https://bugs.launchpad.net/bugs/461062

The original reporter states that PCM maxes at +12 dB and results in
very bad distortion.  Cap PCM at 0 dB to resolve this symptom.

Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
  • Loading branch information
Daniel T Chen authored and Takashi Iwai committed Dec 14, 2009
1 parent 950200e commit 01f5966
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions sound/pci/hda/patch_analog.c
Original file line number Diff line number Diff line change
Expand Up @@ -1789,6 +1789,14 @@ static int patch_ad1981(struct hda_codec *codec)

codec->patch_ops.init = ad1981_hp_init;
codec->patch_ops.unsol_event = ad1981_hp_unsol_event;
/* set the upper-limit for mixer amp to 0dB for avoiding the
* possible damage by overloading
*/
snd_hda_override_amp_caps(codec, 0x11, HDA_INPUT,
(0x17 << AC_AMPCAP_OFFSET_SHIFT) |
(0x17 << AC_AMPCAP_NUM_STEPS_SHIFT) |
(0x05 << AC_AMPCAP_STEP_SIZE_SHIFT) |
(1 << AC_AMPCAP_MUTE_SHIFT));
break;
case AD1981_THINKPAD:
spec->mixers[0] = ad1981_thinkpad_mixers;
Expand Down

0 comments on commit 01f5966

Please sign in to comment.