[ALSA] hda-codec - Fix mic input with STAC92xx codecs
Fixed mic input with STAC92xx codecs. The mic pin was sometimes set to OUTPUT by the headphone jack detection. Also, try to assign a secondary mic as front-mic (or vice versa) in the auto-detection if possible. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
This commit is contained in:

gecommit door
Jaroslav Kysela

bovenliggende
7ffffecc7c
commit
314634bc81
@@ -2079,12 +2079,21 @@ int snd_hda_parse_pin_def_config(struct hda_codec *codec, struct auto_pin_cfg *c
|
||||
cfg->hp_pins[cfg->hp_outs] = nid;
|
||||
cfg->hp_outs++;
|
||||
break;
|
||||
case AC_JACK_MIC_IN:
|
||||
if (loc == AC_JACK_LOC_FRONT)
|
||||
cfg->input_pins[AUTO_PIN_FRONT_MIC] = nid;
|
||||
else
|
||||
cfg->input_pins[AUTO_PIN_MIC] = nid;
|
||||
case AC_JACK_MIC_IN: {
|
||||
int preferred, alt;
|
||||
if (loc == AC_JACK_LOC_FRONT) {
|
||||
preferred = AUTO_PIN_FRONT_MIC;
|
||||
alt = AUTO_PIN_MIC;
|
||||
} else {
|
||||
preferred = AUTO_PIN_MIC;
|
||||
alt = AUTO_PIN_FRONT_MIC;
|
||||
}
|
||||
if (!cfg->input_pins[preferred])
|
||||
cfg->input_pins[preferred] = nid;
|
||||
else if (!cfg->input_pins[alt])
|
||||
cfg->input_pins[alt] = nid;
|
||||
break;
|
||||
}
|
||||
case AC_JACK_LINE_IN:
|
||||
if (loc == AC_JACK_LOC_FRONT)
|
||||
cfg->input_pins[AUTO_PIN_FRONT_LINE] = nid;
|
||||
|
Verwijs in nieuw issue
Block a user