Commit ee956e090e114ede6542c76a7465ed6ce118ad52
1 parent
4605b718e8
Exists in
master
and in
7 other branches
ALSA: hda - Add digital-mic for ALC269 auto-probe mode
The digital mic wasn't detected properly for ALC269 auto-probing mode because of its widget number. Fixed now. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Showing 1 changed file with 20 additions and 2 deletions Side-by-side Diff
sound/pci/hda/patch_realtek.c
... | ... | @@ -12244,8 +12244,26 @@ |
12244 | 12244 | return 0; |
12245 | 12245 | } |
12246 | 12246 | |
12247 | -#define alc269_auto_create_analog_input_ctls \ | |
12248 | - alc880_auto_create_analog_input_ctls | |
12247 | +static int alc269_auto_create_analog_input_ctls(struct alc_spec *spec, | |
12248 | + const struct auto_pin_cfg *cfg) | |
12249 | +{ | |
12250 | + int err; | |
12251 | + | |
12252 | + err = alc880_auto_create_analog_input_ctls(spec, cfg); | |
12253 | + if (err < 0) | |
12254 | + return err; | |
12255 | + /* digital-mic input pin is excluded in alc880_auto_create..() | |
12256 | + * because it's under 0x18 | |
12257 | + */ | |
12258 | + if (cfg->input_pins[AUTO_PIN_MIC] == 0x12 || | |
12259 | + cfg->input_pins[AUTO_PIN_FRONT_MIC] == 0x12) { | |
12260 | + struct hda_input_mux *imux = &spec->private_imux; | |
12261 | + imux->items[imux->num_items].label = "Int Mic"; | |
12262 | + imux->items[imux->num_items].index = 0x05; | |
12263 | + imux->num_items++; | |
12264 | + } | |
12265 | + return 0; | |
12266 | +} | |
12249 | 12267 | |
12250 | 12268 | #ifdef CONFIG_SND_HDA_POWER_SAVE |
12251 | 12269 | #define alc269_loopbacks alc880_loopbacks |