aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci
diff options
context:
space:
mode:
authorMatthew Ranostay <mranostay@embeddedalley.com>2008-10-09 08:37:28 -0400
committerJaroslav Kysela <perex@perex.cz>2008-10-10 07:41:59 -0400
commitb9aea7150a84d037b6ca3c2506b0058cee4eb1d2 (patch)
tree57eecb12ad32dcaae5223c1270da83294a8092e4 /sound/pci
parentfb2aa074d4eac4957f5717d261bc336f4a5f31c4 (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/pci')
-rw-r--r--sound/pci/hda/patch_sigmatel.c14
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;