Commit ee956e090e114ede6542c76a7465ed6ce118ad52

Authored by Takashi Iwai
1 parent 4605b718e8

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