diff options
author | Takashi Iwai <tiwai@suse.de> | 2013-07-04 12:45:37 (GMT) |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2013-07-04 12:45:37 (GMT) |
commit | 6a699bec88d5755c0f1be4e967649b3cfeac0205 (patch) | |
tree | d5bc67571eacbb9307df8c5090d276d38b96d726 /sound/pci/hda/patch_analog.c | |
parent | 1a39b5e1f932b0ab292c1737724f17bd6a73d630 (diff) | |
download | linux-6a699bec88d5755c0f1be4e967649b3cfeac0205.tar.xz |
ALSA: hda - Add fixup for Lenovo Thinkpad with AD1984 codec
Ported from the static quirk (model=thinkpad).
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/patch_analog.c')
-rw-r--r-- | sound/pci/hda/patch_analog.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_analog.c b/sound/pci/hda/patch_analog.c index 2ae7dc5..0262ffb 100644 --- a/sound/pci/hda/patch_analog.c +++ b/sound/pci/hda/patch_analog.c @@ -3637,9 +3637,17 @@ static void ad1884_fixup_hp_eapd(struct hda_codec *codec, } } +/* set magic COEFs for dmic */ +static const struct hda_verb ad1884_dmic_init_verbs[] = { + {0x01, AC_VERB_SET_COEF_INDEX, 0x13f7}, + {0x01, AC_VERB_SET_PROC_COEF, 0x08}, + {} +}; + enum { AD1884_FIXUP_AMP_OVERRIDE, AD1884_FIXUP_HP_EAPD, + AD1884_FIXUP_DMIC_COEF, }; static const struct hda_fixup ad1884_fixups[] = { @@ -3653,10 +3661,15 @@ static const struct hda_fixup ad1884_fixups[] = { .chained = true, .chain_id = AD1884_FIXUP_AMP_OVERRIDE, }, + [AD1884_FIXUP_DMIC_COEF] = { + .type = HDA_FIXUP_VERBS, + .v.verbs = ad1884_dmic_init_verbs, + }, }; static const struct snd_pci_quirk ad1884_fixup_tbl[] = { SND_PCI_QUIRK_VENDOR(0x103c, "HP", AD1884_FIXUP_HP_EAPD), + SND_PCI_QUIRK_VENDOR(0x17aa, "Lenovo Thinkpad", AD1884_FIXUP_DMIC_COEF), {} }; |