ALSA: hda: STAC_HP_M4

Set the third microphone to a default config of a 'Line In' to be
added the Input Source Mux's.

Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
Matthew Ranostay 2008-10-09 08:37:28 -04:00 committed by Jaroslav Kysela
parent fb2aa074d4
commit b9aea7150a
1 changed files with 10 additions and 4 deletions

View File

@ -3643,7 +3643,12 @@ static int stac92xx_init(struct hda_codec *codec)
for (i = 0; i < AUTO_PIN_LAST; i++) {
hda_nid_t nid = cfg->input_pins[i];
if (nid) {
unsigned int pinctl = AC_PINCTL_IN_EN;
unsigned int pinctl = snd_hda_codec_read(codec, nid,
0, AC_VERB_GET_PIN_WIDGET_CONTROL, 0);
/* if PINCTL already set then skip */
if (pinctl & AC_PINCAP_IN)
continue;
pinctl = AC_PINCTL_IN_EN;
if (i == AUTO_PIN_MIC || i == AUTO_PIN_FRONT_MIC)
pinctl |= stac92xx_get_vref(codec, nid);
stac92xx_auto_set_pinctl(codec, nid, pinctl);
@ -4413,12 +4418,13 @@ again:
switch (spec->board_config) {
case STAC_HP_M4:
spec->num_dmics = 0;
spec->num_smuxes = 1;
spec->num_smuxes = 0;
spec->num_dmuxes = 0;
/* enable internal microphone */
snd_hda_codec_write_cache(codec, 0x0e, 0,
AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80);
stac92xx_set_config_reg(codec, 0x0e, 0x01813040);
stac92xx_auto_set_pinctl(codec, 0x0e,
AC_PINCTL_IN_EN | AC_PINCTL_VREF_80);
break;
default:
spec->num_dmics = STAC92HD71BXX_NUM_DMICS;