Commit 13c989be authored by Takashi Iwai's avatar Takashi Iwai

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: default avatarTakashi Iwai <tiwai@suse.de>
parent 1618a328
...@@ -3986,6 +3986,14 @@ static int patch_ad1884a(struct hda_codec *codec) ...@@ -3986,6 +3986,14 @@ static int patch_ad1884a(struct hda_codec *codec)
spec->multiout.dig_out_nid = 0; spec->multiout.dig_out_nid = 0;
codec->patch_ops.unsol_event = ad1884a_hp_unsol_event; codec->patch_ops.unsol_event = ad1884a_hp_unsol_event;
codec->patch_ops.init = ad1884a_hp_init; codec->patch_ops.init = ad1884a_hp_init;
/* set the upper-limit for mixer amp to 0dB for avoiding the
* possible damage by overloading
*/
snd_hda_override_amp_caps(codec, 0x20, 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; break;
case AD1884A_THINKPAD: case AD1884A_THINKPAD:
spec->mixers[0] = ad1984a_thinkpad_mixers; spec->mixers[0] = ad1984a_thinkpad_mixers;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment