[ALSA] hda-codec - Fix dmics on ALC268 in auto configuration
Fixed the handling of dmics on ALC268 in the auto-configuration mode. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Родитель
487145a198
Коммит
7194cae62e
|
@ -6258,16 +6258,21 @@ static void alc882_auto_init_analog_input(struct hda_codec *codec)
|
|||
|
||||
for (i = 0; i < AUTO_PIN_LAST; i++) {
|
||||
hda_nid_t nid = spec->autocfg.input_pins[i];
|
||||
if (alc882_is_input_pin(nid)) {
|
||||
snd_hda_codec_write(codec, nid, 0,
|
||||
AC_VERB_SET_PIN_WIDGET_CONTROL,
|
||||
i <= AUTO_PIN_FRONT_MIC ?
|
||||
PIN_VREF80 : PIN_IN);
|
||||
if (nid != ALC882_PIN_CD_NID)
|
||||
snd_hda_codec_write(codec, nid, 0,
|
||||
AC_VERB_SET_AMP_GAIN_MUTE,
|
||||
AMP_OUT_MUTE);
|
||||
unsigned int vref;
|
||||
if (!nid)
|
||||
continue;
|
||||
vref = PIN_IN;
|
||||
if (1 /*i <= AUTO_PIN_FRONT_MIC*/) {
|
||||
if (snd_hda_param_read(codec, nid, AC_PAR_PIN_CAP) &
|
||||
AC_PINCAP_VREF_80)
|
||||
vref = PIN_VREF80;
|
||||
}
|
||||
snd_hda_codec_write(codec, nid, 0,
|
||||
AC_VERB_SET_PIN_WIDGET_CONTROL, vref);
|
||||
if (get_wcaps(codec, nid) & AC_WCAP_OUT_AMP)
|
||||
snd_hda_codec_write(codec, nid, 0,
|
||||
AC_VERB_SET_AMP_GAIN_MUTE,
|
||||
AMP_OUT_MUTE);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -10125,6 +10130,10 @@ static int alc268_auto_create_analog_input_ctls(struct alc_spec *spec,
|
|||
case 0x1c:
|
||||
idx1 = 3; /* CD */
|
||||
break;
|
||||
case 0x12:
|
||||
case 0x13:
|
||||
idx1 = 6; /* digital mics */
|
||||
break;
|
||||
default:
|
||||
continue;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче