summaryrefslogtreecommitdiffstats
path: root/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.7/0025-ALSA-hda-Fix-silent-speaker-output-on-Acer-Aspire-69.patch
diff options
context:
space:
mode:
authorKoen Kooi <koen@dominion.thruhere.net>2012-03-01 09:35:40 +0100
committerDenys Dmytriyenko <denys@ti.com>2012-03-04 23:35:53 -0500
commit4d6e7c358e61f2053f945423718d0923b6413f99 (patch)
treed2c7ac4906cb51ff7183ab48b497675584c72cfc /recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.7/0025-ALSA-hda-Fix-silent-speaker-output-on-Acer-Aspire-69.patch
parente31722adc42ef202ae273571ce19a7ac304e5eb6 (diff)
downloadmeta-ti-4d6e7c358e61f2053f945423718d0923b6413f99.tar.gz
linux-ti33x-psp 3.2: update to 3.2.9 and add 2 patches from PSP tree
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Diffstat (limited to 'recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.7/0025-ALSA-hda-Fix-silent-speaker-output-on-Acer-Aspire-69.patch')
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.7/0025-ALSA-hda-Fix-silent-speaker-output-on-Acer-Aspire-69.patch78
1 files changed, 78 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.7/0025-ALSA-hda-Fix-silent-speaker-output-on-Acer-Aspire-69.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.7/0025-ALSA-hda-Fix-silent-speaker-output-on-Acer-Aspire-69.patch
new file mode 100644
index 00000000..8fb6bfde
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.7/0025-ALSA-hda-Fix-silent-speaker-output-on-Acer-Aspire-69.patch
@@ -0,0 +1,78 @@
1From 2edcb814b345ab919010974e88a4bbd407bf4db8 Mon Sep 17 00:00:00 2001
2From: Takashi Iwai <tiwai@suse.de>
3Date: Mon, 13 Feb 2012 15:25:07 +0100
4Subject: [PATCH 25/30] ALSA: hda - Fix silent speaker output on Acer Aspire
5 6935
6
7commit 02a237b24d57e2e2d5402c92549e9e792aa24359 upstream.
8
9Since 3.2 kernel, the driver starts trying to assign the multi-io DACs
10before the speaker, thus it assigns DAC2/3 for multi-io and DAC4 for
11the speaker for a standard laptop setup like a HP, a speaker, a mic-in
12and a line-in. However, on Acer Aspire 6935, it seems that the
13speaker pin 0x14 must be connected with either DAC1 or 2; otherwise it
14results in silence by some reason, although the codec itself allows
15the routing to DAC3/4.
16
17As a workaround, the connection list of each pin is reduced to be
18mapped to either only DAC1/2 or DAC3/4, so that the compatible
19assignment as in kernel 3.1 is achieved.
20
21Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=42740
22
23Signed-off-by: Takashi Iwai <tiwai@suse.de>
24Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
25---
26 sound/pci/hda/patch_realtek.c | 23 +++++++++++++++++++++++
27 1 files changed, 23 insertions(+), 0 deletions(-)
28
29diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
30index 34e5fcc..9c197d4 100644
31--- a/sound/pci/hda/patch_realtek.c
32+++ b/sound/pci/hda/patch_realtek.c
33@@ -4213,8 +4213,26 @@ enum {
34 PINFIX_PB_M5210,
35 PINFIX_ACER_ASPIRE_7736,
36 PINFIX_ASUS_W90V,
37+ ALC889_FIXUP_DAC_ROUTE,
38 };
39
40+/* Fix the connection of some pins for ALC889:
41+ * At least, Acer Aspire 5935 shows the connections to DAC3/4 don't
42+ * work correctly (bko#42740)
43+ */
44+static void alc889_fixup_dac_route(struct hda_codec *codec,
45+ const struct alc_fixup *fix, int action)
46+{
47+ if (action == ALC_FIXUP_ACT_PRE_PROBE) {
48+ hda_nid_t conn1[2] = { 0x0c, 0x0d };
49+ hda_nid_t conn2[2] = { 0x0e, 0x0f };
50+ snd_hda_override_conn_list(codec, 0x14, 2, conn1);
51+ snd_hda_override_conn_list(codec, 0x15, 2, conn1);
52+ snd_hda_override_conn_list(codec, 0x18, 2, conn2);
53+ snd_hda_override_conn_list(codec, 0x1a, 2, conn2);
54+ }
55+}
56+
57 static const struct alc_fixup alc882_fixups[] = {
58 [PINFIX_ABIT_AW9D_MAX] = {
59 .type = ALC_FIXUP_PINS,
60@@ -4251,10 +4269,15 @@ static const struct alc_fixup alc882_fixups[] = {
61 { }
62 }
63 },
64+ [ALC889_FIXUP_DAC_ROUTE] = {
65+ .type = ALC_FIXUP_FUNC,
66+ .v.func = alc889_fixup_dac_route,
67+ },
68 };
69
70 static const struct snd_pci_quirk alc882_fixup_tbl[] = {
71 SND_PCI_QUIRK(0x1025, 0x0155, "Packard-Bell M5120", PINFIX_PB_M5210),
72+ SND_PCI_QUIRK(0x1025, 0x0259, "Acer Aspire 5935", ALC889_FIXUP_DAC_ROUTE),
73 SND_PCI_QUIRK(0x1043, 0x1873, "ASUS W90V", PINFIX_ASUS_W90V),
74 SND_PCI_QUIRK(0x17aa, 0x3a0d, "Lenovo Y530", PINFIX_LENOVO_Y530),
75 SND_PCI_QUIRK(0x147b, 0x107a, "Abit AW9D-MAX", PINFIX_ABIT_AW9D_MAX),
76--
771.7.7.4
78