aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_realtek.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2012-02-16 05:51:19 -0500
committerTakashi Iwai <tiwai@suse.de>2012-02-16 05:51:19 -0500
commitca8f04247eaaec554528279686a514c6ce087bb9 (patch)
treec1dd665d14e6866de6ba888b7c28db3409a53f8e /sound/pci/hda/patch_realtek.c
parent1565cc358585be40608b46f18f7ac431a1aae2bc (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.c27
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 */
4209enum { 4209enum {
4210 PINFIX_HP_DC5750, 4210 ALC260_FIXUP_HP_DC5750,
4211 ALC260_FIXUP_HP_PIN_0F,
4212 ALC260_FIXUP_COEF,
4211}; 4213};
4212 4214
4213static const struct alc_fixup alc260_fixups[] = { 4215static 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
4223static const struct snd_pci_quirk alc260_fixup_tbl[] = { 4242static 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