aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_analog.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2009-04-19 11:39:46 +0200
committerTakashi Iwai <tiwai@suse.de>2009-04-19 11:39:46 +0200
commit7c4112a285b00e137db04844b8b9b478e5d4363e (patch)
tree6e708230baf2213b902a1e8f04a21c9bf64487a3 /sound/pci/hda/patch_analog.c
parent1e2ae4ddd373af6fa3ea2483d7fc4a08c7f54395 (diff)
parent93e82ae781e1ca4797cf2a226d3c303975bd99c7 (diff)
downloadkernel_samsung_espresso10-7c4112a285b00e137db04844b8b9b478e5d4363e.zip
kernel_samsung_espresso10-7c4112a285b00e137db04844b8b9b478e5d4363e.tar.gz
kernel_samsung_espresso10-7c4112a285b00e137db04844b8b9b478e5d4363e.tar.bz2
Merge branch 'fix/hda' into for-linus
* fix/hda: ALSA: hda - Set function_id only on FG nodes ALSA: hda - Add upper-limit of mixer amp for AD1884A-laptop model, too ALSA: hda - Fix headphone-detection on some machines with STAC/IDT codecs ALSA: hda_intel.c - Consolidate bitfields
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 38ad3f7..9bcd8ab 100644
--- a/sound/pci/hda/patch_analog.c
+++ b/sound/pci/hda/patch_analog.c
@@ -3977,6 +3977,14 @@ static int patch_ad1884a(struct hda_codec *codec)
spec->input_mux = &ad1884a_laptop_capture_source;
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_MOBILE:
spec->mixers[0] = ad1884a_mobile_mixers;