diff options
author | Takashi Iwai <tiwai@suse.de> | 2011-11-07 11:59:13 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2011-11-08 02:59:37 -0500 |
commit | 5c0ebfbe56795cce558736e0023ebb85b9f753c6 (patch) | |
tree | e405b2be3f56879c6098d0cd5a835174479a8f48 /sound/pci/hda/patch_realtek.c | |
parent | 42399f7a71df817a0aab82dd88dc05521c88385b (diff) |
ALSA: hda/realtek - Rewrite ALC882 model=vaio-tt with auto-parser
Providing a pincfg fix for VAIO-TT with ALC889 codec to work with the
auto-parser, and drop the static configuration.
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 | 39 |
1 files changed, 24 insertions, 15 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index afdecd86e9a9..959bda35f0c9 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -4214,15 +4214,16 @@ static int patch_alc260(struct hda_codec *codec) | |||
4214 | * Pin config fixes | 4214 | * Pin config fixes |
4215 | */ | 4215 | */ |
4216 | enum { | 4216 | enum { |
4217 | PINFIX_ABIT_AW9D_MAX, | 4217 | ALC882_FIXUP_ABIT_AW9D_MAX, |
4218 | PINFIX_LENOVO_Y530, | 4218 | ALC882_FIXUP_LENOVO_Y530, |
4219 | PINFIX_PB_M5210, | 4219 | ALC882_FIXUP_PB_M5210, |
4220 | PINFIX_ACER_ASPIRE_7736, | 4220 | ALC882_FIXUP_ACER_ASPIRE_7736, |
4221 | PINFIX_ASUS_W90V, | 4221 | ALC882_FIXUP_ASUS_W90V, |
4222 | ALC889_FIXUP_VAIO_TT, | ||
4222 | }; | 4223 | }; |
4223 | 4224 | ||
4224 | static const struct alc_fixup alc882_fixups[] = { | 4225 | static const struct alc_fixup alc882_fixups[] = { |
4225 | [PINFIX_ABIT_AW9D_MAX] = { | 4226 | [ALC882_FIXUP_ABIT_AW9D_MAX] = { |
4226 | .type = ALC_FIXUP_PINS, | 4227 | .type = ALC_FIXUP_PINS, |
4227 | .v.pins = (const struct alc_pincfg[]) { | 4228 | .v.pins = (const struct alc_pincfg[]) { |
4228 | { 0x15, 0x01080104 }, /* side */ | 4229 | { 0x15, 0x01080104 }, /* side */ |
@@ -4231,7 +4232,7 @@ static const struct alc_fixup alc882_fixups[] = { | |||
4231 | { } | 4232 | { } |
4232 | } | 4233 | } |
4233 | }, | 4234 | }, |
4234 | [PINFIX_LENOVO_Y530] = { | 4235 | [ALC882_FIXUP_LENOVO_Y530] = { |
4235 | .type = ALC_FIXUP_PINS, | 4236 | .type = ALC_FIXUP_PINS, |
4236 | .v.pins = (const struct alc_pincfg[]) { | 4237 | .v.pins = (const struct alc_pincfg[]) { |
4237 | { 0x15, 0x99130112 }, /* rear int speakers */ | 4238 | { 0x15, 0x99130112 }, /* rear int speakers */ |
@@ -4239,32 +4240,40 @@ static const struct alc_fixup alc882_fixups[] = { | |||
4239 | { } | 4240 | { } |
4240 | } | 4241 | } |
4241 | }, | 4242 | }, |
4242 | [PINFIX_PB_M5210] = { | 4243 | [ALC882_FIXUP_PB_M5210] = { |
4243 | .type = ALC_FIXUP_VERBS, | 4244 | .type = ALC_FIXUP_VERBS, |
4244 | .v.verbs = (const struct hda_verb[]) { | 4245 | .v.verbs = (const struct hda_verb[]) { |
4245 | { 0x19, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF50 }, | 4246 | { 0x19, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF50 }, |
4246 | {} | 4247 | {} |
4247 | } | 4248 | } |
4248 | }, | 4249 | }, |
4249 | [PINFIX_ACER_ASPIRE_7736] = { | 4250 | [ALC882_FIXUP_ACER_ASPIRE_7736] = { |
4250 | .type = ALC_FIXUP_SKU, | 4251 | .type = ALC_FIXUP_SKU, |
4251 | .v.sku = ALC_FIXUP_SKU_IGNORE, | 4252 | .v.sku = ALC_FIXUP_SKU_IGNORE, |
4252 | }, | 4253 | }, |
4253 | [PINFIX_ASUS_W90V] = { | 4254 | [ALC882_FIXUP_ASUS_W90V] = { |
4254 | .type = ALC_FIXUP_PINS, | 4255 | .type = ALC_FIXUP_PINS, |
4255 | .v.pins = (const struct alc_pincfg[]) { | 4256 | .v.pins = (const struct alc_pincfg[]) { |
4256 | { 0x16, 0x99130110 }, /* fix sequence for CLFE */ | 4257 | { 0x16, 0x99130110 }, /* fix sequence for CLFE */ |
4257 | { } | 4258 | { } |
4258 | } | 4259 | } |
4259 | }, | 4260 | }, |
4261 | [ALC889_FIXUP_VAIO_TT] = { | ||
4262 | .type = ALC_FIXUP_PINS, | ||
4263 | .v.pins = (const struct alc_pincfg[]) { | ||
4264 | { 0x17, 0x90170111 }, /* hidden surround speaker */ | ||
4265 | { } | ||
4266 | } | ||
4267 | }, | ||
4260 | }; | 4268 | }; |
4261 | 4269 | ||
4262 | static const struct snd_pci_quirk alc882_fixup_tbl[] = { | 4270 | static const struct snd_pci_quirk alc882_fixup_tbl[] = { |
4263 | SND_PCI_QUIRK(0x1025, 0x0155, "Packard-Bell M5120", PINFIX_PB_M5210), | 4271 | SND_PCI_QUIRK(0x1025, 0x0155, "Packard-Bell M5120", ALC882_FIXUP_PB_M5210), |
4264 | SND_PCI_QUIRK(0x1043, 0x1873, "ASUS W90V", PINFIX_ASUS_W90V), | 4272 | SND_PCI_QUIRK(0x1043, 0x1873, "ASUS W90V", ALC882_FIXUP_ASUS_W90V), |
4265 | SND_PCI_QUIRK(0x17aa, 0x3a0d, "Lenovo Y530", PINFIX_LENOVO_Y530), | 4273 | SND_PCI_QUIRK(0x17aa, 0x3a0d, "Lenovo Y530", ALC882_FIXUP_LENOVO_Y530), |
4266 | SND_PCI_QUIRK(0x147b, 0x107a, "Abit AW9D-MAX", PINFIX_ABIT_AW9D_MAX), | 4274 | SND_PCI_QUIRK(0x147b, 0x107a, "Abit AW9D-MAX", ALC882_FIXUP_ABIT_AW9D_MAX), |
4267 | SND_PCI_QUIRK(0x1025, 0x0296, "Acer Aspire 7736z", PINFIX_ACER_ASPIRE_7736), | 4275 | SND_PCI_QUIRK(0x1025, 0x0296, "Acer Aspire 7736z", ALC882_FIXUP_ACER_ASPIRE_7736), |
4276 | SND_PCI_QUIRK(0x104d, 0x9047, "Sony Vaio TT", ALC889_FIXUP_VAIO_TT), | ||
4268 | {} | 4277 | {} |
4269 | }; | 4278 | }; |
4270 | 4279 | ||