aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_realtek.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2012-02-17 17:54:44 +0100
committerTakashi Iwai <tiwai@suse.de>2012-02-17 17:59:22 +0100
commitb9368f5c10b15f2b79a58666849827edc1f2f3d4 (patch)
treef6750197e59fdcc2d7cc8e2b78584adb244c790d /sound/pci/hda/patch_realtek.c
parent27e917f82bfcf8c51a2c025ddfb69e0b5947f50b (diff)
ALSA: hda/realtek - Replace ALC880 model=tcl with auto-parser
It needs a few extra setups for EAPD, but others look fairly straightforward. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/patch_realtek.c')
-rw-r--r--sound/pci/hda/patch_realtek.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 4f8c3620799..e6eec9a9ab4 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -4407,6 +4407,7 @@ enum {
ALC880_FIXUP_LG,
ALC880_FIXUP_W810,
ALC880_FIXUP_EAPD_COEF,
+ ALC880_FIXUP_TCL_S700,
};
static const struct alc_fixup alc880_fixups[] = {
@@ -4453,6 +4454,17 @@ static const struct alc_fixup alc880_fixups[] = {
{}
},
},
+ [ALC880_FIXUP_TCL_S700] = {
+ .type = ALC_FIXUP_VERBS,
+ .v.verbs = (const struct hda_verb[]) {
+ /* change to EAPD mode */
+ { 0x20, AC_VERB_SET_COEF_INDEX, 0x07 },
+ { 0x20, AC_VERB_SET_PROC_COEF, 0x3070 },
+ {}
+ },
+ .chained = true,
+ .chain_id = ALC880_FIXUP_GPIO2,
+ },
};
static const struct snd_pci_quirk alc880_fixup_tbl[] = {
@@ -4463,6 +4475,7 @@ static const struct snd_pci_quirk alc880_fixup_tbl[] = {
SND_PCI_QUIRK(0x1854, 0x003b, "LG", ALC880_FIXUP_LG),
SND_PCI_QUIRK(0x1854, 0x005f, "LG P1 Express", ALC880_FIXUP_LG),
SND_PCI_QUIRK(0x1854, 0x0068, "LG w1", ALC880_FIXUP_LG),
+ SND_PCI_QUIRK(0x19db, 0x4188, "TCL S700", ALC880_FIXUP_TCL_S700),
{}
};