diff options
author | Takashi Iwai <tiwai@suse.de> | 2012-02-13 09:34:31 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2012-02-13 09:34:31 -0500 |
commit | a68f20ef80e62b3dfed3097ad57ec88550cdabe7 (patch) | |
tree | cf464bbaafb604ac1fe0cbc9605fcbd6255ba7b2 | |
parent | fc1156c0b0f7ad45ec03d919866349eeca2bf18c (diff) | |
parent | 02a237b24d57e2e2d5402c92549e9e792aa24359 (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.c | 23 |
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 | ||
4379 | static void alc889_fixup_coef(struct hda_codec *codec, | 4380 | static 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 | */ | ||
4435 | static 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 | |||
4430 | static const struct alc_fixup alc882_fixups[] = { | 4448 | static 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 | ||
4579 | static const struct snd_pci_quirk alc882_fixup_tbl[] = { | 4601 | static 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), |