aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2012-02-13 09:34:31 -0500
committerTakashi Iwai <tiwai@suse.de>2012-02-13 09:34:31 -0500
commita68f20ef80e62b3dfed3097ad57ec88550cdabe7 (patch)
treecf464bbaafb604ac1fe0cbc9605fcbd6255ba7b2
parentfc1156c0b0f7ad45ec03d919866349eeca2bf18c (diff)
parent02a237b24d57e2e2d5402c92549e9e792aa24359 (diff)
Merge branch 'fix/acer-alc889-fix' into fix/hda
Conflicts: sound/pci/hda/patch_realtek.c Merged back the fix for Acer Aspire 6935 with ALC889 codec. The fix commit was based on 3.2 kernel so that it can be applied to stable kernel cleanly.
-rw-r--r--sound/pci/hda/patch_realtek.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 9350f3c3bdf8..1358987c49d8 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -4374,6 +4374,7 @@ enum {
4374 ALC882_FIXUP_ACER_ASPIRE_8930G, 4374 ALC882_FIXUP_ACER_ASPIRE_8930G,
4375 ALC882_FIXUP_ASPIRE_8930G_VERBS, 4375 ALC882_FIXUP_ASPIRE_8930G_VERBS,
4376 ALC885_FIXUP_MACPRO_GPIO, 4376 ALC885_FIXUP_MACPRO_GPIO,
4377 ALC889_FIXUP_DAC_ROUTE,
4377}; 4378};
4378 4379
4379static void alc889_fixup_coef(struct hda_codec *codec, 4380static void alc889_fixup_coef(struct hda_codec *codec,
@@ -4427,6 +4428,23 @@ static void alc885_fixup_macpro_gpio(struct hda_codec *codec,
4427 alc882_gpio_mute(codec, 1, 0); 4428 alc882_gpio_mute(codec, 1, 0);
4428} 4429}
4429 4430
4431/* Fix the connection of some pins for ALC889:
4432 * At least, Acer Aspire 5935 shows the connections to DAC3/4 don't
4433 * work correctly (bko#42740)
4434 */
4435static void alc889_fixup_dac_route(struct hda_codec *codec,
4436 const struct alc_fixup *fix, int action)
4437{
4438 if (action == ALC_FIXUP_ACT_PRE_PROBE) {
4439 hda_nid_t conn1[2] = { 0x0c, 0x0d };
4440 hda_nid_t conn2[2] = { 0x0e, 0x0f };
4441 snd_hda_override_conn_list(codec, 0x14, 2, conn1);
4442 snd_hda_override_conn_list(codec, 0x15, 2, conn1);
4443 snd_hda_override_conn_list(codec, 0x18, 2, conn2);
4444 snd_hda_override_conn_list(codec, 0x1a, 2, conn2);
4445 }
4446}
4447
4430static const struct alc_fixup alc882_fixups[] = { 4448static const struct alc_fixup alc882_fixups[] = {
4431 [ALC882_FIXUP_ABIT_AW9D_MAX] = { 4449 [ALC882_FIXUP_ABIT_AW9D_MAX] = {
4432 .type = ALC_FIXUP_PINS, 4450 .type = ALC_FIXUP_PINS,
@@ -4574,6 +4592,10 @@ static const struct alc_fixup alc882_fixups[] = {
4574 .type = ALC_FIXUP_FUNC, 4592 .type = ALC_FIXUP_FUNC,
4575 .v.func = alc885_fixup_macpro_gpio, 4593 .v.func = alc885_fixup_macpro_gpio,
4576 }, 4594 },
4595 [ALC889_FIXUP_DAC_ROUTE] = {
4596 .type = ALC_FIXUP_FUNC,
4597 .v.func = alc889_fixup_dac_route,
4598 },
4577}; 4599};
4578 4600
4579static const struct snd_pci_quirk alc882_fixup_tbl[] = { 4601static const struct snd_pci_quirk alc882_fixup_tbl[] = {
@@ -4598,6 +4620,7 @@ static const struct snd_pci_quirk alc882_fixup_tbl[] = {
4598 SND_PCI_QUIRK(0x1025, 0x0142, "Acer Aspire 7730G", 4620 SND_PCI_QUIRK(0x1025, 0x0142, "Acer Aspire 7730G",
4599 ALC882_FIXUP_ACER_ASPIRE_4930G), 4621 ALC882_FIXUP_ACER_ASPIRE_4930G),
4600 SND_PCI_QUIRK(0x1025, 0x0155, "Packard-Bell M5120", ALC882_FIXUP_PB_M5210), 4622 SND_PCI_QUIRK(0x1025, 0x0155, "Packard-Bell M5120", ALC882_FIXUP_PB_M5210),
4623 SND_PCI_QUIRK(0x1025, 0x0259, "Acer Aspire 5935", ALC889_FIXUP_DAC_ROUTE),
4601 SND_PCI_QUIRK(0x1025, 0x0296, "Acer Aspire 7736z", ALC882_FIXUP_ACER_ASPIRE_7736), 4624 SND_PCI_QUIRK(0x1025, 0x0296, "Acer Aspire 7736z", ALC882_FIXUP_ACER_ASPIRE_7736),
4602 SND_PCI_QUIRK(0x1043, 0x13c2, "Asus A7M", ALC882_FIXUP_EAPD), 4625 SND_PCI_QUIRK(0x1043, 0x13c2, "Asus A7M", ALC882_FIXUP_EAPD),
4603 SND_PCI_QUIRK(0x1043, 0x1873, "ASUS W90V", ALC882_FIXUP_ASUS_W90V), 4626 SND_PCI_QUIRK(0x1043, 0x1873, "ASUS W90V", ALC882_FIXUP_ASUS_W90V),