aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_analog.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2009-02-23 05:33:34 -0500
committerTakashi Iwai <tiwai@suse.de>2009-02-23 05:33:34 -0500
commit13c989beba166b470b1e6b0fa117148bcbfa3dd1 (patch)
tree9e0bce3d86a35f810818929c32ab13940193373a /sound/pci/hda/patch_analog.c
parent1618a3281b90c43ccc85b58699508b9864defc8c (diff)
ALSA: hda - Don't give over 0dB volume for AD1984A HP laptops
Set the upper limit 0dB to the volume of mixer amp 0x20 for AD1984A HP laptops. The overloaded volume may damage the internal speaker. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/patch_analog.c')
-rw-r--r--sound/pci/hda/patch_analog.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_analog.c b/sound/pci/hda/patch_analog.c
index 2c58d7b05aba..b16802841468 100644
--- a/sound/pci/hda/patch_analog.c
+++ b/sound/pci/hda/patch_analog.c
@@ -3986,6 +3986,14 @@ static int patch_ad1884a(struct hda_codec *codec)
3986 spec->multiout.dig_out_nid = 0; 3986 spec->multiout.dig_out_nid = 0;
3987 codec->patch_ops.unsol_event = ad1884a_hp_unsol_event; 3987 codec->patch_ops.unsol_event = ad1884a_hp_unsol_event;
3988 codec->patch_ops.init = ad1884a_hp_init; 3988 codec->patch_ops.init = ad1884a_hp_init;
3989 /* set the upper-limit for mixer amp to 0dB for avoiding the
3990 * possible damage by overloading
3991 */
3992 snd_hda_override_amp_caps(codec, 0x20, HDA_INPUT,
3993 (0x17 << AC_AMPCAP_OFFSET_SHIFT) |
3994 (0x17 << AC_AMPCAP_NUM_STEPS_SHIFT) |
3995 (0x05 << AC_AMPCAP_STEP_SIZE_SHIFT) |
3996 (1 << AC_AMPCAP_MUTE_SHIFT));
3989 break; 3997 break;
3990 case AD1884A_THINKPAD: 3998 case AD1884A_THINKPAD:
3991 spec->mixers[0] = ad1984a_thinkpad_mixers; 3999 spec->mixers[0] = ad1984a_thinkpad_mixers;