diff options
Diffstat (limited to 'sound/pci/hda/patch_realtek.c')
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index e333b3e30e31..c1ddfd2fac52 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -837,9 +837,11 @@ static int alc_init(struct hda_codec *codec) | |||
837 | if (spec->init_hook) | 837 | if (spec->init_hook) |
838 | spec->init_hook(codec); | 838 | spec->init_hook(codec); |
839 | 839 | ||
840 | spec->gen.skip_verbs = 1; /* applied in below */ | ||
840 | snd_hda_gen_init(codec); | 841 | snd_hda_gen_init(codec); |
841 | alc_fix_pll(codec); | 842 | alc_fix_pll(codec); |
842 | alc_auto_init_amp(codec, spec->init_amp); | 843 | alc_auto_init_amp(codec, spec->init_amp); |
844 | snd_hda_apply_verbs(codec); /* apply verbs here after own init */ | ||
843 | 845 | ||
844 | snd_hda_apply_fixup(codec, HDA_FIXUP_ACT_INIT); | 846 | snd_hda_apply_fixup(codec, HDA_FIXUP_ACT_INIT); |
845 | 847 | ||
@@ -5797,6 +5799,7 @@ enum { | |||
5797 | ALC286_FIXUP_ACER_AIO_HEADSET_MIC, | 5799 | ALC286_FIXUP_ACER_AIO_HEADSET_MIC, |
5798 | ALC256_FIXUP_ASUS_MIC_NO_PRESENCE, | 5800 | ALC256_FIXUP_ASUS_MIC_NO_PRESENCE, |
5799 | ALC299_FIXUP_PREDATOR_SPK, | 5801 | ALC299_FIXUP_PREDATOR_SPK, |
5802 | ALC294_FIXUP_ASUS_INTSPK_HEADSET_MIC, | ||
5800 | }; | 5803 | }; |
5801 | 5804 | ||
5802 | static const struct hda_fixup alc269_fixups[] = { | 5805 | static const struct hda_fixup alc269_fixups[] = { |
@@ -6837,6 +6840,16 @@ static const struct hda_fixup alc269_fixups[] = { | |||
6837 | { } | 6840 | { } |
6838 | } | 6841 | } |
6839 | }, | 6842 | }, |
6843 | [ALC294_FIXUP_ASUS_INTSPK_HEADSET_MIC] = { | ||
6844 | .type = HDA_FIXUP_PINS, | ||
6845 | .v.pins = (const struct hda_pintbl[]) { | ||
6846 | { 0x14, 0x411111f0 }, /* disable confusing internal speaker */ | ||
6847 | { 0x19, 0x04a11150 }, /* use as headset mic, without its own jack detect */ | ||
6848 | { } | ||
6849 | }, | ||
6850 | .chained = true, | ||
6851 | .chain_id = ALC269_FIXUP_HEADSET_MODE_NO_HP_MIC | ||
6852 | }, | ||
6840 | }; | 6853 | }; |
6841 | 6854 | ||
6842 | static const struct snd_pci_quirk alc269_fixup_tbl[] = { | 6855 | static const struct snd_pci_quirk alc269_fixup_tbl[] = { |
@@ -6979,6 +6992,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { | |||
6979 | SND_PCI_QUIRK(0x103c, 0x82c0, "HP G3 mini premium", ALC221_FIXUP_HP_MIC_NO_PRESENCE), | 6992 | SND_PCI_QUIRK(0x103c, 0x82c0, "HP G3 mini premium", ALC221_FIXUP_HP_MIC_NO_PRESENCE), |
6980 | SND_PCI_QUIRK(0x103c, 0x83b9, "HP Spectre x360", ALC269_FIXUP_HP_MUTE_LED_MIC3), | 6993 | SND_PCI_QUIRK(0x103c, 0x83b9, "HP Spectre x360", ALC269_FIXUP_HP_MUTE_LED_MIC3), |
6981 | SND_PCI_QUIRK(0x103c, 0x8497, "HP Envy x360", ALC269_FIXUP_HP_MUTE_LED_MIC3), | 6994 | SND_PCI_QUIRK(0x103c, 0x8497, "HP Envy x360", ALC269_FIXUP_HP_MUTE_LED_MIC3), |
6995 | SND_PCI_QUIRK(0x103c, 0x84e7, "HP Pavilion 15", ALC269_FIXUP_HP_MUTE_LED_MIC3), | ||
6982 | SND_PCI_QUIRK(0x1043, 0x103e, "ASUS X540SA", ALC256_FIXUP_ASUS_MIC), | 6996 | SND_PCI_QUIRK(0x1043, 0x103e, "ASUS X540SA", ALC256_FIXUP_ASUS_MIC), |
6983 | SND_PCI_QUIRK(0x1043, 0x103f, "ASUS TX300", ALC282_FIXUP_ASUS_TX300), | 6997 | SND_PCI_QUIRK(0x1043, 0x103f, "ASUS TX300", ALC282_FIXUP_ASUS_TX300), |
6984 | SND_PCI_QUIRK(0x1043, 0x106d, "Asus K53BE", ALC269_FIXUP_LIMIT_INT_MIC_BOOST), | 6998 | SND_PCI_QUIRK(0x1043, 0x106d, "Asus K53BE", ALC269_FIXUP_LIMIT_INT_MIC_BOOST), |
@@ -6995,6 +7009,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { | |||
6995 | SND_PCI_QUIRK(0x1043, 0x1427, "Asus Zenbook UX31E", ALC269VB_FIXUP_ASUS_ZENBOOK), | 7009 | SND_PCI_QUIRK(0x1043, 0x1427, "Asus Zenbook UX31E", ALC269VB_FIXUP_ASUS_ZENBOOK), |
6996 | SND_PCI_QUIRK(0x1043, 0x1517, "Asus Zenbook UX31A", ALC269VB_FIXUP_ASUS_ZENBOOK_UX31A), | 7010 | SND_PCI_QUIRK(0x1043, 0x1517, "Asus Zenbook UX31A", ALC269VB_FIXUP_ASUS_ZENBOOK_UX31A), |
6997 | SND_PCI_QUIRK(0x1043, 0x16e3, "ASUS UX50", ALC269_FIXUP_STEREO_DMIC), | 7011 | SND_PCI_QUIRK(0x1043, 0x16e3, "ASUS UX50", ALC269_FIXUP_STEREO_DMIC), |
7012 | SND_PCI_QUIRK(0x1043, 0x17d1, "ASUS UX431FL", ALC294_FIXUP_ASUS_INTSPK_HEADSET_MIC), | ||
6998 | SND_PCI_QUIRK(0x1043, 0x1a13, "Asus G73Jw", ALC269_FIXUP_ASUS_G73JW), | 7013 | SND_PCI_QUIRK(0x1043, 0x1a13, "Asus G73Jw", ALC269_FIXUP_ASUS_G73JW), |
6999 | SND_PCI_QUIRK(0x1043, 0x1a30, "ASUS X705UD", ALC256_FIXUP_ASUS_MIC), | 7014 | SND_PCI_QUIRK(0x1043, 0x1a30, "ASUS X705UD", ALC256_FIXUP_ASUS_MIC), |
7000 | SND_PCI_QUIRK(0x1043, 0x1b13, "Asus U41SV", ALC269_FIXUP_INV_DMIC), | 7015 | SND_PCI_QUIRK(0x1043, 0x1b13, "Asus U41SV", ALC269_FIXUP_INV_DMIC), |
@@ -7072,6 +7087,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { | |||
7072 | SND_PCI_QUIRK(0x17aa, 0x312a, "ThinkCentre Station", ALC294_FIXUP_LENOVO_MIC_LOCATION), | 7087 | SND_PCI_QUIRK(0x17aa, 0x312a, "ThinkCentre Station", ALC294_FIXUP_LENOVO_MIC_LOCATION), |
7073 | SND_PCI_QUIRK(0x17aa, 0x312f, "ThinkCentre Station", ALC294_FIXUP_LENOVO_MIC_LOCATION), | 7088 | SND_PCI_QUIRK(0x17aa, 0x312f, "ThinkCentre Station", ALC294_FIXUP_LENOVO_MIC_LOCATION), |
7074 | SND_PCI_QUIRK(0x17aa, 0x313c, "ThinkCentre Station", ALC294_FIXUP_LENOVO_MIC_LOCATION), | 7089 | SND_PCI_QUIRK(0x17aa, 0x313c, "ThinkCentre Station", ALC294_FIXUP_LENOVO_MIC_LOCATION), |
7090 | SND_PCI_QUIRK(0x17aa, 0x3151, "ThinkCentre Station", ALC283_FIXUP_HEADSET_MIC), | ||
7075 | SND_PCI_QUIRK(0x17aa, 0x3902, "Lenovo E50-80", ALC269_FIXUP_DMIC_THINKPAD_ACPI), | 7091 | SND_PCI_QUIRK(0x17aa, 0x3902, "Lenovo E50-80", ALC269_FIXUP_DMIC_THINKPAD_ACPI), |
7076 | SND_PCI_QUIRK(0x17aa, 0x3977, "IdeaPad S210", ALC283_FIXUP_INT_MIC), | 7092 | SND_PCI_QUIRK(0x17aa, 0x3977, "IdeaPad S210", ALC283_FIXUP_INT_MIC), |
7077 | SND_PCI_QUIRK(0x17aa, 0x3978, "Lenovo B50-70", ALC269_FIXUP_DMIC_THINKPAD_ACPI), | 7093 | SND_PCI_QUIRK(0x17aa, 0x3978, "Lenovo B50-70", ALC269_FIXUP_DMIC_THINKPAD_ACPI), |
@@ -8946,6 +8962,7 @@ static int patch_alc680(struct hda_codec *codec) | |||
8946 | static const struct hda_device_id snd_hda_id_realtek[] = { | 8962 | static const struct hda_device_id snd_hda_id_realtek[] = { |
8947 | HDA_CODEC_ENTRY(0x10ec0215, "ALC215", patch_alc269), | 8963 | HDA_CODEC_ENTRY(0x10ec0215, "ALC215", patch_alc269), |
8948 | HDA_CODEC_ENTRY(0x10ec0221, "ALC221", patch_alc269), | 8964 | HDA_CODEC_ENTRY(0x10ec0221, "ALC221", patch_alc269), |
8965 | HDA_CODEC_ENTRY(0x10ec0222, "ALC222", patch_alc269), | ||
8949 | HDA_CODEC_ENTRY(0x10ec0225, "ALC225", patch_alc269), | 8966 | HDA_CODEC_ENTRY(0x10ec0225, "ALC225", patch_alc269), |
8950 | HDA_CODEC_ENTRY(0x10ec0231, "ALC231", patch_alc269), | 8967 | HDA_CODEC_ENTRY(0x10ec0231, "ALC231", patch_alc269), |
8951 | HDA_CODEC_ENTRY(0x10ec0233, "ALC233", patch_alc269), | 8968 | HDA_CODEC_ENTRY(0x10ec0233, "ALC233", patch_alc269), |