diff options
author | Takashi Iwai <tiwai@suse.de> | 2012-02-16 05:51:19 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2012-02-16 05:51:19 -0500 |
commit | ca8f04247eaaec554528279686a514c6ce087bb9 (patch) | |
tree | c1dd665d14e6866de6ba888b7c28db3409a53f8e /sound/pci/hda/patch_realtek.c | |
parent | 1565cc358585be40608b46f18f7ac431a1aae2bc (diff) |
ALSA: hda/realtek - Add the fixup codes for ALC260 model=will
The model=will for ALC260 requires the pin 0x0f to be a headphone and
some special verbs for the COEF to turn on the amp. Now added these as
fixup entries and removed the static model quirk.
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.c | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 30ef877e628..f5f37103623 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -4207,21 +4207,42 @@ static const struct hda_amp_list alc260_loopbacks[] = { | |||
4207 | * Pin config fixes | 4207 | * Pin config fixes |
4208 | */ | 4208 | */ |
4209 | enum { | 4209 | enum { |
4210 | PINFIX_HP_DC5750, | 4210 | ALC260_FIXUP_HP_DC5750, |
4211 | ALC260_FIXUP_HP_PIN_0F, | ||
4212 | ALC260_FIXUP_COEF, | ||
4211 | }; | 4213 | }; |
4212 | 4214 | ||
4213 | static const struct alc_fixup alc260_fixups[] = { | 4215 | static const struct alc_fixup alc260_fixups[] = { |
4214 | [PINFIX_HP_DC5750] = { | 4216 | [ALC260_FIXUP_HP_DC5750] = { |
4215 | .type = ALC_FIXUP_PINS, | 4217 | .type = ALC_FIXUP_PINS, |
4216 | .v.pins = (const struct alc_pincfg[]) { | 4218 | .v.pins = (const struct alc_pincfg[]) { |
4217 | { 0x11, 0x90130110 }, /* speaker */ | 4219 | { 0x11, 0x90130110 }, /* speaker */ |
4218 | { } | 4220 | { } |
4219 | } | 4221 | } |
4220 | }, | 4222 | }, |
4223 | [ALC260_FIXUP_HP_PIN_0F] = { | ||
4224 | .type = ALC_FIXUP_PINS, | ||
4225 | .v.pins = (const struct alc_pincfg[]) { | ||
4226 | { 0x0f, 0x01214000 }, /* HP */ | ||
4227 | { } | ||
4228 | } | ||
4229 | }, | ||
4230 | [ALC260_FIXUP_COEF] = { | ||
4231 | .type = ALC_FIXUP_VERBS, | ||
4232 | .v.verbs = (const struct hda_verb[]) { | ||
4233 | { 0x20, AC_VERB_SET_COEF_INDEX, 0x07 }, | ||
4234 | { 0x20, AC_VERB_SET_PROC_COEF, 0x3040 }, | ||
4235 | { } | ||
4236 | }, | ||
4237 | .chained = true, | ||
4238 | .chain_id = ALC260_FIXUP_HP_PIN_0F, | ||
4239 | }, | ||
4221 | }; | 4240 | }; |
4222 | 4241 | ||
4223 | static const struct snd_pci_quirk alc260_fixup_tbl[] = { | 4242 | static const struct snd_pci_quirk alc260_fixup_tbl[] = { |
4224 | SND_PCI_QUIRK(0x103c, 0x280a, "HP dc5750", PINFIX_HP_DC5750), | 4243 | SND_PCI_QUIRK(0x1025, 0x007f, "Acer Aspire 9500", ALC260_FIXUP_COEF), |
4244 | SND_PCI_QUIRK(0x103c, 0x280a, "HP dc5750", ALC260_FIXUP_HP_DC5750), | ||
4245 | SND_PCI_QUIRK(0x1631, 0xc017, "PB V7900", ALC260_FIXUP_COEF), | ||
4225 | {} | 4246 | {} |
4226 | }; | 4247 | }; |
4227 | 4248 | ||