Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -3986,6 +3986,14 @@ static int patch_ad1884a(struct hda_codec *codec)
		spec->multiout.dig_out_nid = 0;
		codec->patch_ops.unsol_event = ad1884a_hp_unsol_event;
		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;
	case AD1884A_THINKPAD:
		spec->mixers[0] = ad1984a_thinkpad_mixers;