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

Commit 01f5966d authored by Daniel T Chen's avatar Daniel T Chen Committed by Takashi Iwai
Browse files

ALSA: hda: Fix max PCM level to 0 dB for AD1981_HP

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: default avatarDaniel T Chen <crimsun@ubuntu.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 950200e2
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -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;