summaryrefslogtreecommitdiffstats
path: root/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.9/0048-ALSA-hda-realtek-Fix-surround-output-regression-on-A.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.9/0048-ALSA-hda-realtek-Fix-surround-output-regression-on-A.patch')
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.9/0048-ALSA-hda-realtek-Fix-surround-output-regression-on-A.patch53
1 files changed, 53 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.9/0048-ALSA-hda-realtek-Fix-surround-output-regression-on-A.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.9/0048-ALSA-hda-realtek-Fix-surround-output-regression-on-A.patch
new file mode 100644
index 00000000..b30fe7a9
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.9/0048-ALSA-hda-realtek-Fix-surround-output-regression-on-A.patch
@@ -0,0 +1,53 @@
1From 8f421627d178f1346bb68c9e7b32b2bd5844ce1d Mon Sep 17 00:00:00 2001
2From: Takashi Iwai <tiwai@suse.de>
3Date: Fri, 17 Feb 2012 10:12:38 +0100
4Subject: [PATCH 48/73] ALSA: hda/realtek - Fix surround output regression on
5 Acer Aspire 5935
6
7commit ef8d60fb79614a86a82720dc2402631dbcafb315 upstream.
8
9The previous fix for the speaker on Acer Aspire 59135 introduced
10another problem for surround outputs. It changed the connections on
11the line-in/mic pins for limiting the routes, but it left the modified
12connections. Thus wrong connection indices were written when set to
134ch or 6ch mode.
14
15This patch fixes it by restoring the right connections just after
16parsing the tree but before the initialization.
17
18Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=42740
19
20Signed-off-by: Takashi Iwai <tiwai@suse.de>
21Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
22---
23 sound/pci/hda/patch_realtek.c | 8 ++++++++
24 1 files changed, 8 insertions(+), 0 deletions(-)
25
26diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
27index ceda0ac..c4c8d78 100644
28--- a/sound/pci/hda/patch_realtek.c
29+++ b/sound/pci/hda/patch_realtek.c
30@@ -4229,12 +4229,20 @@ static void alc889_fixup_dac_route(struct hda_codec *codec,
31 const struct alc_fixup *fix, int action)
32 {
33 if (action == ALC_FIXUP_ACT_PRE_PROBE) {
34+ /* fake the connections during parsing the tree */
35 hda_nid_t conn1[2] = { 0x0c, 0x0d };
36 hda_nid_t conn2[2] = { 0x0e, 0x0f };
37 snd_hda_override_conn_list(codec, 0x14, 2, conn1);
38 snd_hda_override_conn_list(codec, 0x15, 2, conn1);
39 snd_hda_override_conn_list(codec, 0x18, 2, conn2);
40 snd_hda_override_conn_list(codec, 0x1a, 2, conn2);
41+ } else if (action == ALC_FIXUP_ACT_PROBE) {
42+ /* restore the connections */
43+ hda_nid_t conn[5] = { 0x0c, 0x0d, 0x0e, 0x0f, 0x26 };
44+ snd_hda_override_conn_list(codec, 0x14, 5, conn);
45+ snd_hda_override_conn_list(codec, 0x15, 5, conn);
46+ snd_hda_override_conn_list(codec, 0x18, 5, conn);
47+ snd_hda_override_conn_list(codec, 0x1a, 5, conn);
48 }
49 }
50
51--
521.7.7.4
53