aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda
diff options
context:
space:
mode:
Diffstat (limited to 'sound/pci/hda')
-rw-r--r--sound/pci/hda/patch_realtek.c23
1 files changed, 17 insertions, 6 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index a0a3cf956503..d11fd0160748 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -5918,6 +5918,14 @@ static void alc269_fixup_mic2_mute(struct hda_codec *codec,
5918 } 5918 }
5919} 5919}
5920 5920
5921static void alc269_fixup_inv_dmic(struct hda_codec *codec,
5922 const struct alc_fixup *fix, int action)
5923{
5924 if (action == ALC_FIXUP_ACT_PROBE)
5925 alc_add_inv_dmic_mixer(codec, 0x12);
5926}
5927
5928
5921enum { 5929enum {
5922 ALC269_FIXUP_SONY_VAIO, 5930 ALC269_FIXUP_SONY_VAIO,
5923 ALC275_FIXUP_SONY_VAIO_GPIO2, 5931 ALC275_FIXUP_SONY_VAIO_GPIO2,
@@ -5936,6 +5944,7 @@ enum {
5936 ALC269VB_FIXUP_AMIC, 5944 ALC269VB_FIXUP_AMIC,
5937 ALC269VB_FIXUP_DMIC, 5945 ALC269VB_FIXUP_DMIC,
5938 ALC269_FIXUP_MIC2_MUTE_LED, 5946 ALC269_FIXUP_MIC2_MUTE_LED,
5947 ALC269_FIXUP_INV_DMIC,
5939}; 5948};
5940 5949
5941static const struct alc_fixup alc269_fixups[] = { 5950static const struct alc_fixup alc269_fixups[] = {
@@ -6060,12 +6069,19 @@ static const struct alc_fixup alc269_fixups[] = {
6060 .type = ALC_FIXUP_FUNC, 6069 .type = ALC_FIXUP_FUNC,
6061 .v.func = alc269_fixup_mic2_mute, 6070 .v.func = alc269_fixup_mic2_mute,
6062 }, 6071 },
6072 [ALC269_FIXUP_INV_DMIC] = {
6073 .type = ALC_FIXUP_FUNC,
6074 .v.func = alc269_fixup_inv_dmic,
6075 },
6063}; 6076};
6064 6077
6065static const struct snd_pci_quirk alc269_fixup_tbl[] = { 6078static const struct snd_pci_quirk alc269_fixup_tbl[] = {
6079 SND_PCI_QUIRK(0x1025, 0x029b, "Acer 1810TZ", ALC269_FIXUP_INV_DMIC),
6080 SND_PCI_QUIRK(0x1025, 0x0349, "Acer AOD260", ALC269_FIXUP_INV_DMIC),
6066 SND_PCI_QUIRK(0x103c, 0x1586, "HP", ALC269_FIXUP_MIC2_MUTE_LED), 6081 SND_PCI_QUIRK(0x103c, 0x1586, "HP", ALC269_FIXUP_MIC2_MUTE_LED),
6067 SND_PCI_QUIRK(0x1043, 0x1427, "Asus Zenbook UX31E", ALC269VB_FIXUP_DMIC), 6082 SND_PCI_QUIRK(0x1043, 0x1427, "Asus Zenbook UX31E", ALC269VB_FIXUP_DMIC),
6068 SND_PCI_QUIRK(0x1043, 0x1a13, "Asus G73Jw", ALC269_FIXUP_ASUS_G73JW), 6083 SND_PCI_QUIRK(0x1043, 0x1a13, "Asus G73Jw", ALC269_FIXUP_ASUS_G73JW),
6084 SND_PCI_QUIRK(0x1043, 0x1b13, "Asus U41SV", ALC269_FIXUP_INV_DMIC),
6069 SND_PCI_QUIRK(0x1043, 0x16e3, "ASUS UX50", ALC269_FIXUP_STEREO_DMIC), 6085 SND_PCI_QUIRK(0x1043, 0x16e3, "ASUS UX50", ALC269_FIXUP_STEREO_DMIC),
6070 SND_PCI_QUIRK(0x1043, 0x831a, "ASUS P901", ALC269_FIXUP_STEREO_DMIC), 6086 SND_PCI_QUIRK(0x1043, 0x831a, "ASUS P901", ALC269_FIXUP_STEREO_DMIC),
6071 SND_PCI_QUIRK(0x1043, 0x834a, "ASUS S101", ALC269_FIXUP_STEREO_DMIC), 6087 SND_PCI_QUIRK(0x1043, 0x834a, "ASUS S101", ALC269_FIXUP_STEREO_DMIC),
@@ -6534,12 +6550,7 @@ static void alc272_fixup_mario(struct hda_codec *codec,
6534 "hda_codec: failed to override amp caps for NID 0x2\n"); 6550 "hda_codec: failed to override amp caps for NID 0x2\n");
6535} 6551}
6536 6552
6537static void alc662_fixup_inv_dmic(struct hda_codec *codec, 6553#define alc662_fixup_inv_dmic alc269_fixup_inv_dmic
6538 const struct alc_fixup *fix, int action)
6539{
6540 if (action == ALC_FIXUP_ACT_PROBE)
6541 alc_add_inv_dmic_mixer(codec, 0x12);
6542}
6543 6554
6544enum { 6555enum {
6545 ALC662_FIXUP_ASPIRE, 6556 ALC662_FIXUP_ASPIRE,