diff options
author | Matthew Ranostay <mranostay@embeddedalley.com> | 2008-10-09 08:37:28 -0400 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2008-10-10 07:41:59 -0400 |
commit | b9aea7150a84d037b6ca3c2506b0058cee4eb1d2 (patch) | |
tree | 57eecb12ad32dcaae5223c1270da83294a8092e4 /sound | |
parent | fb2aa074d4eac4957f5717d261bc336f4a5f31c4 (diff) |
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>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 05661f7f3ce1..5c65f7d4606f 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c | |||
@@ -3643,7 +3643,12 @@ static int stac92xx_init(struct hda_codec *codec) | |||
3643 | for (i = 0; i < AUTO_PIN_LAST; i++) { | 3643 | for (i = 0; i < AUTO_PIN_LAST; i++) { |
3644 | hda_nid_t nid = cfg->input_pins[i]; | 3644 | hda_nid_t nid = cfg->input_pins[i]; |
3645 | if (nid) { | 3645 | if (nid) { |
3646 | unsigned int pinctl = AC_PINCTL_IN_EN; | 3646 | unsigned int pinctl = snd_hda_codec_read(codec, nid, |
3647 | 0, AC_VERB_GET_PIN_WIDGET_CONTROL, 0); | ||
3648 | /* if PINCTL already set then skip */ | ||
3649 | if (pinctl & AC_PINCAP_IN) | ||
3650 | continue; | ||
3651 | pinctl = AC_PINCTL_IN_EN; | ||
3647 | if (i == AUTO_PIN_MIC || i == AUTO_PIN_FRONT_MIC) | 3652 | if (i == AUTO_PIN_MIC || i == AUTO_PIN_FRONT_MIC) |
3648 | pinctl |= stac92xx_get_vref(codec, nid); | 3653 | pinctl |= stac92xx_get_vref(codec, nid); |
3649 | stac92xx_auto_set_pinctl(codec, nid, pinctl); | 3654 | stac92xx_auto_set_pinctl(codec, nid, pinctl); |
@@ -4413,12 +4418,13 @@ again: | |||
4413 | switch (spec->board_config) { | 4418 | switch (spec->board_config) { |
4414 | case STAC_HP_M4: | 4419 | case STAC_HP_M4: |
4415 | spec->num_dmics = 0; | 4420 | spec->num_dmics = 0; |
4416 | spec->num_smuxes = 1; | 4421 | spec->num_smuxes = 0; |
4417 | spec->num_dmuxes = 0; | 4422 | spec->num_dmuxes = 0; |
4418 | 4423 | ||
4419 | /* enable internal microphone */ | 4424 | /* enable internal microphone */ |
4420 | snd_hda_codec_write_cache(codec, 0x0e, 0, | 4425 | stac92xx_set_config_reg(codec, 0x0e, 0x01813040); |
4421 | AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80); | 4426 | stac92xx_auto_set_pinctl(codec, 0x0e, |
4427 | AC_PINCTL_IN_EN | AC_PINCTL_VREF_80); | ||
4422 | break; | 4428 | break; |
4423 | default: | 4429 | default: |
4424 | spec->num_dmics = STAC92HD71BXX_NUM_DMICS; | 4430 | spec->num_dmics = STAC92HD71BXX_NUM_DMICS; |