Commit 7194cae6 authored by Takashi Iwai's avatar Takashi Iwai

[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: default avatarTakashi Iwai <tiwai@suse.de>
parent 487145a1
...@@ -6258,17 +6258,22 @@ static void alc882_auto_init_analog_input(struct hda_codec *codec) ...@@ -6258,17 +6258,22 @@ static void alc882_auto_init_analog_input(struct hda_codec *codec)
for (i = 0; i < AUTO_PIN_LAST; i++) { for (i = 0; i < AUTO_PIN_LAST; i++) {
hda_nid_t nid = spec->autocfg.input_pins[i]; hda_nid_t nid = spec->autocfg.input_pins[i];
if (alc882_is_input_pin(nid)) { 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, snd_hda_codec_write(codec, nid, 0,
AC_VERB_SET_PIN_WIDGET_CONTROL, AC_VERB_SET_PIN_WIDGET_CONTROL, vref);
i <= AUTO_PIN_FRONT_MIC ? if (get_wcaps(codec, nid) & AC_WCAP_OUT_AMP)
PIN_VREF80 : PIN_IN);
if (nid != ALC882_PIN_CD_NID)
snd_hda_codec_write(codec, nid, 0, snd_hda_codec_write(codec, nid, 0,
AC_VERB_SET_AMP_GAIN_MUTE, AC_VERB_SET_AMP_GAIN_MUTE,
AMP_OUT_MUTE); AMP_OUT_MUTE);
} }
}
} }
/* add mic boosts if needed */ /* add mic boosts if needed */
...@@ -10125,6 +10130,10 @@ static int alc268_auto_create_analog_input_ctls(struct alc_spec *spec, ...@@ -10125,6 +10130,10 @@ static int alc268_auto_create_analog_input_ctls(struct alc_spec *spec,
case 0x1c: case 0x1c:
idx1 = 3; /* CD */ idx1 = 3; /* CD */
break; break;
case 0x12:
case 0x13:
idx1 = 6; /* digital mics */
break;
default: default:
continue; continue;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment