aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_realtek.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2011-11-07 11:59:13 -0500
committerTakashi Iwai <tiwai@suse.de>2011-11-08 02:59:37 -0500
commit5c0ebfbe56795cce558736e0023ebb85b9f753c6 (patch)
treee405b2be3f56879c6098d0cd5a835174479a8f48 /sound/pci/hda/patch_realtek.c
parent42399f7a71df817a0aab82dd88dc05521c88385b (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.c39
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 */
4216enum { 4216enum {
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
4224static const struct alc_fixup alc882_fixups[] = { 4225static 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
4262static const struct snd_pci_quirk alc882_fixup_tbl[] = { 4270static 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