|
@@ -3977,6 +3977,14 @@ static int patch_ad1884a(struct hda_codec *codec)
|
|
spec->input_mux = &ad1884a_laptop_capture_source;
|
|
spec->input_mux = &ad1884a_laptop_capture_source;
|
|
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_MOBILE:
|
|
case AD1884A_MOBILE:
|
|
spec->mixers[0] = ad1884a_mobile_mixers;
|
|
spec->mixers[0] = ad1884a_mobile_mixers;
|