aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_realtek.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/pci/hda/patch_realtek.c')
-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 1d07e8fa2433..c4bde7108328 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -4201,8 +4201,26 @@ enum {
4201 PINFIX_PB_M5210, 4201 PINFIX_PB_M5210,
4202 PINFIX_ACER_ASPIRE_7736, 4202 PINFIX_ACER_ASPIRE_7736,
4203 PINFIX_ASUS_W90V, 4203 PINFIX_ASUS_W90V,
4204 ALC889_FIXUP_DAC_ROUTE,
4204}; 4205};
4205 4206
4207/* Fix the connection of some pins for ALC889:
4208 * At least, Acer Aspire 5935 shows the connections to DAC3/4 don't
4209 * work correctly (bko#42740)
4210 */
4211static void alc889_fixup_dac_route(struct hda_codec *codec,
4212 const struct alc_fixup *fix, int action)
4213{
4214 if (action == ALC_FIXUP_ACT_PRE_PROBE) {
4215 hda_nid_t conn1[2] = { 0x0c, 0x0d };
4216 hda_nid_t conn2[2] = { 0x0e, 0x0f };
4217 snd_hda_override_conn_list(codec, 0x14, 2, conn1);
4218 snd_hda_override_conn_list(codec, 0x15, 2, conn1);
4219 snd_hda_override_conn_list(codec, 0x18, 2, conn2);
4220 snd_hda_override_conn_list(codec, 0x1a, 2, conn2);
4221 }
4222}
4223
4206static const struct alc_fixup alc882_fixups[] = { 4224static const struct alc_fixup alc882_fixups[] = {
4207 [PINFIX_ABIT_AW9D_MAX] = { 4225 [PINFIX_ABIT_AW9D_MAX] = {
4208 .type = ALC_FIXUP_PINS, 4226 .type = ALC_FIXUP_PINS,
@@ -4239,10 +4257,15 @@ static const struct alc_fixup alc882_fixups[] = {
4239 { } 4257 { }
4240 } 4258 }
4241 }, 4259 },
4260 [ALC889_FIXUP_DAC_ROUTE] = {
4261 .type = ALC_FIXUP_FUNC,
4262 .v.func = alc889_fixup_dac_route,
4263 },
4242}; 4264};
4243 4265
4244static const struct snd_pci_quirk alc882_fixup_tbl[] = { 4266static const struct snd_pci_quirk alc882_fixup_tbl[] = {
4245 SND_PCI_QUIRK(0x1025, 0x0155, "Packard-Bell M5120", PINFIX_PB_M5210), 4267 SND_PCI_QUIRK(0x1025, 0x0155, "Packard-Bell M5120", PINFIX_PB_M5210),
4268 SND_PCI_QUIRK(0x1025, 0x0259, "Acer Aspire 5935", ALC889_FIXUP_DAC_ROUTE),
4246 SND_PCI_QUIRK(0x1043, 0x1873, "ASUS W90V", PINFIX_ASUS_W90V), 4269 SND_PCI_QUIRK(0x1043, 0x1873, "ASUS W90V", PINFIX_ASUS_W90V),
4247 SND_PCI_QUIRK(0x17aa, 0x3a0d, "Lenovo Y530", PINFIX_LENOVO_Y530), 4270 SND_PCI_QUIRK(0x17aa, 0x3a0d, "Lenovo Y530", PINFIX_LENOVO_Y530),
4248 SND_PCI_QUIRK(0x147b, 0x107a, "Abit AW9D-MAX", PINFIX_ABIT_AW9D_MAX), 4271 SND_PCI_QUIRK(0x147b, 0x107a, "Abit AW9D-MAX", PINFIX_ABIT_AW9D_MAX),