ALSA: hda - Add support for Acer ZGA ALC271 (1025:047c)

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

authored by Kailang Yang and committed by Takashi Iwai fe3eb0a7 74bf40f0

+39
+39
sound/pci/hda/patch_realtek.c
··· 137 ALC269VB_DMIC, 138 ALC269_FUJITSU, 139 ALC269_LIFEBOOK, 140 ALC269_AUTO, 141 ALC269_MODEL_LAST /* last tag */ 142 }; ··· 13867 { } /* end */ 13868 }; 13869 13870 /* capture mixer elements */ 13871 static struct snd_kcontrol_new alc269_laptop_analog_capture_mixer[] = { 13872 HDA_CODEC_VOLUME("Capture Volume", 0x08, 0x0, HDA_INPUT), ··· 14091 {0x18, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | ALC880_MIC_EVENT}, 14092 {0x21, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | ALC880_HP_EVENT}, 14093 {} 14094 }; 14095 14096 /* toggle speaker-output according to the hp-jack state */ ··· 14486 14487 static struct snd_pci_quirk alc269_cfg_tbl[] = { 14488 SND_PCI_QUIRK(0x17aa, 0x3bf8, "Quanta FL1", ALC269_QUANTA_FL1), 14489 SND_PCI_QUIRK(0x1043, 0x8330, "ASUS Eeepc P703 P900A", 14490 ALC269_AMIC), 14491 SND_PCI_QUIRK(0x1043, 0x1013, "ASUS N61Da", ALC269VB_AMIC), ··· 14647 .input_mux = &alc269_capture_source, 14648 .unsol_event = alc269_lifebook_unsol_event, 14649 .init_hook = alc269_lifebook_init_hook, 14650 }, 14651 }; 14652
··· 137 ALC269VB_DMIC, 138 ALC269_FUJITSU, 139 ALC269_LIFEBOOK, 140 + ALC271_ACER, 141 ALC269_AUTO, 142 ALC269_MODEL_LAST /* last tag */ 143 }; ··· 13866 { } /* end */ 13867 }; 13868 13869 + static struct snd_kcontrol_new alc269_asus_mixer[] = { 13870 + HDA_CODEC_VOLUME("Master Playback Volume", 0x02, 0x0, HDA_OUTPUT), 13871 + HDA_CODEC_MUTE("Master Playback Switch", 0x0c, 0x0, HDA_INPUT), 13872 + { } /* end */ 13873 + }; 13874 + 13875 /* capture mixer elements */ 13876 static struct snd_kcontrol_new alc269_laptop_analog_capture_mixer[] = { 13877 HDA_CODEC_VOLUME("Capture Volume", 0x08, 0x0, HDA_INPUT), ··· 14084 {0x18, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | ALC880_MIC_EVENT}, 14085 {0x21, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | ALC880_HP_EVENT}, 14086 {} 14087 + }; 14088 + 14089 + static struct hda_verb alc271_acer_dmic_verbs[] = { 14090 + {0x20, AC_VERB_SET_COEF_INDEX, 0x0d}, 14091 + {0x20, AC_VERB_SET_PROC_COEF, 0x4000}, 14092 + {0x12, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN}, 14093 + {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT}, 14094 + {0x21, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_HP}, 14095 + {0x21, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE}, 14096 + {0x21, AC_VERB_SET_CONNECT_SEL, 0x00}, 14097 + {0x21, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | ALC880_HP_EVENT}, 14098 + {0x18, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | ALC880_MIC_EVENT}, 14099 + {0x22, AC_VERB_SET_CONNECT_SEL, 6}, 14100 + { } 14101 }; 14102 14103 /* toggle speaker-output according to the hp-jack state */ ··· 14465 14466 static struct snd_pci_quirk alc269_cfg_tbl[] = { 14467 SND_PCI_QUIRK(0x17aa, 0x3bf8, "Quanta FL1", ALC269_QUANTA_FL1), 14468 + SND_PCI_QUIRK(0x1025, 0x047c, "ACER ZGA", ALC271_ACER), 14469 SND_PCI_QUIRK(0x1043, 0x8330, "ASUS Eeepc P703 P900A", 14470 ALC269_AMIC), 14471 SND_PCI_QUIRK(0x1043, 0x1013, "ASUS N61Da", ALC269VB_AMIC), ··· 14625 .input_mux = &alc269_capture_source, 14626 .unsol_event = alc269_lifebook_unsol_event, 14627 .init_hook = alc269_lifebook_init_hook, 14628 + }, 14629 + [ALC271_ACER] = { 14630 + .mixers = { alc269_asus_mixer }, 14631 + .cap_mixer = alc269vb_laptop_digital_capture_mixer, 14632 + .init_verbs = { alc269_init_verbs, alc271_acer_dmic_verbs }, 14633 + .num_dacs = ARRAY_SIZE(alc269_dac_nids), 14634 + .dac_nids = alc269_dac_nids, 14635 + .adc_nids = alc262_dmic_adc_nids, 14636 + .num_adc_nids = ARRAY_SIZE(alc262_dmic_adc_nids), 14637 + .capsrc_nids = alc262_dmic_capsrc_nids, 14638 + .num_channel_mode = ARRAY_SIZE(alc269_modes), 14639 + .channel_mode = alc269_modes, 14640 + .input_mux = &alc269_capture_source, 14641 + .dig_out_nid = ALC880_DIGOUT_NID, 14642 + .unsol_event = alc_sku_unsol_event, 14643 + .setup = alc269vb_laptop_dmic_setup, 14644 + .init_hook = alc_inithook, 14645 }, 14646 }; 14647