aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci
diff options
context:
space:
mode:
authorHui Wang <hui.wang@canonical.com>2014-05-29 03:59:19 -0400
committerTakashi Iwai <tiwai@suse.de>2014-05-29 09:59:43 -0400
commit532895c58c225c23566c94fa61d78498973c738e (patch)
treed483de30a2c5d60a04da8256bc8aa77c33b64262 /sound/pci
parentd91a4c1be0d7efe1d10c75541f800b716eae6925 (diff)
ALSA: hda - move some alc662 family machines to hda_pin_quirk table
Signed-off-by: Hui Wang <hui.wang@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci')
-rw-r--r--sound/pci/hda/patch_realtek.c72
1 files changed, 68 insertions, 4 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index d82884b85fad..a00cd69bc3aa 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -5894,12 +5894,8 @@ static const struct snd_pci_quirk alc662_fixup_tbl[] = {
5894 SND_PCI_QUIRK(0x1028, 0x05d8, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE), 5894 SND_PCI_QUIRK(0x1028, 0x05d8, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE),
5895 SND_PCI_QUIRK(0x1028, 0x05db, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE), 5895 SND_PCI_QUIRK(0x1028, 0x05db, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE),
5896 SND_PCI_QUIRK(0x1028, 0x060a, "Dell XPS 13", ALC668_FIXUP_DELL_XPS13), 5896 SND_PCI_QUIRK(0x1028, 0x060a, "Dell XPS 13", ALC668_FIXUP_DELL_XPS13),
5897 SND_PCI_QUIRK(0x1028, 0x0623, "Dell", ALC668_FIXUP_AUTO_MUTE),
5898 SND_PCI_QUIRK(0x1028, 0x0624, "Dell", ALC668_FIXUP_AUTO_MUTE),
5899 SND_PCI_QUIRK(0x1028, 0x0625, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE), 5897 SND_PCI_QUIRK(0x1028, 0x0625, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE),
5900 SND_PCI_QUIRK(0x1028, 0x0626, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE), 5898 SND_PCI_QUIRK(0x1028, 0x0626, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE),
5901 SND_PCI_QUIRK(0x1028, 0x0628, "Dell", ALC668_FIXUP_AUTO_MUTE),
5902 SND_PCI_QUIRK(0x1028, 0x064e, "Dell", ALC668_FIXUP_AUTO_MUTE),
5903 SND_PCI_QUIRK(0x1028, 0x0696, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE), 5899 SND_PCI_QUIRK(0x1028, 0x0696, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE),
5904 SND_PCI_QUIRK(0x1028, 0x0698, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE), 5900 SND_PCI_QUIRK(0x1028, 0x0698, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE),
5905 SND_PCI_QUIRK(0x103c, 0x1632, "HP RP5800", ALC662_FIXUP_HP_RP5800), 5901 SND_PCI_QUIRK(0x103c, 0x1632, "HP RP5800", ALC662_FIXUP_HP_RP5800),
@@ -5991,6 +5987,73 @@ static const struct hda_model_fixup alc662_fixup_models[] = {
5991 {} 5987 {}
5992}; 5988};
5993 5989
5990static const struct snd_hda_pin_quirk alc662_pin_fixup_tbl[] = {
5991 {
5992 .codec = 0x10ec0668,
5993 .subvendor = 0x1028,
5994#ifdef CONFIG_SND_DEBUG_VERBOSE
5995 .name = "Dell",
5996#endif
5997 .pins = (const struct hda_pintbl[]) {
5998 {0x12, 0x99a30130},
5999 {0x14, 0x90170110},
6000 {0x15, 0x0321101f},
6001 {0x16, 0x03011020},
6002 {0x18, 0x40000008},
6003 {0x19, 0x411111f0},
6004 {0x1a, 0x411111f0},
6005 {0x1b, 0x411111f0},
6006 {0x1d, 0x41000001},
6007 {0x1e, 0x411111f0},
6008 {0x1f, 0x411111f0},
6009 },
6010 .value = ALC668_FIXUP_AUTO_MUTE,
6011 },
6012 {
6013 .codec = 0x10ec0668,
6014 .subvendor = 0x1028,
6015#ifdef CONFIG_SND_DEBUG_VERBOSE
6016 .name = "Dell",
6017#endif
6018 .pins = (const struct hda_pintbl[]) {
6019 {0x12, 0x99a30150},
6020 {0x14, 0x90170110},
6021 {0x15, 0x0321101f},
6022 {0x16, 0x03011020},
6023 {0x18, 0x40000008},
6024 {0x19, 0x411111f0},
6025 {0x1a, 0x411111f0},
6026 {0x1b, 0x411111f0},
6027 {0x1d, 0x41000001},
6028 {0x1e, 0x411111f0},
6029 {0x1f, 0x411111f0},
6030 },
6031 .value = ALC668_FIXUP_AUTO_MUTE,
6032 },
6033 {
6034 .codec = 0x10ec0668,
6035 .subvendor = 0x1028,
6036#ifdef CONFIG_SND_DEBUG_VERBOSE
6037 .name = "Dell",
6038#endif
6039 .pins = (const struct hda_pintbl[]) {
6040 {0x12, 0x411111f0},
6041 {0x14, 0x90170110},
6042 {0x15, 0x0321101f},
6043 {0x16, 0x03011020},
6044 {0x18, 0x40000008},
6045 {0x19, 0x411111f0},
6046 {0x1a, 0x411111f0},
6047 {0x1b, 0x411111f0},
6048 {0x1d, 0x41000001},
6049 {0x1e, 0x411111f0},
6050 {0x1f, 0x411111f0},
6051 },
6052 .value = ALC668_FIXUP_AUTO_MUTE,
6053 },
6054 {}
6055};
6056
5994static void alc662_fill_coef(struct hda_codec *codec) 6057static void alc662_fill_coef(struct hda_codec *codec)
5995{ 6058{
5996 int val, coef; 6059 int val, coef;
@@ -6040,6 +6103,7 @@ static int patch_alc662(struct hda_codec *codec)
6040 6103
6041 snd_hda_pick_fixup(codec, alc662_fixup_models, 6104 snd_hda_pick_fixup(codec, alc662_fixup_models,
6042 alc662_fixup_tbl, alc662_fixups); 6105 alc662_fixup_tbl, alc662_fixups);
6106 snd_hda_pick_pin_fixup(codec, alc662_pin_fixup_tbl, alc662_fixups);
6043 snd_hda_apply_fixup(codec, HDA_FIXUP_ACT_PRE_PROBE); 6107 snd_hda_apply_fixup(codec, HDA_FIXUP_ACT_PRE_PROBE);
6044 6108
6045 alc_auto_parse_customize_define(codec); 6109 alc_auto_parse_customize_define(codec);