diff options
author | Koen Kooi <koen@dominion.thruhere.net> | 2012-03-01 09:35:40 +0100 |
---|---|---|
committer | Denys Dmytriyenko <denys@ti.com> | 2012-03-04 23:35:53 -0500 |
commit | 4d6e7c358e61f2053f945423718d0923b6413f99 (patch) | |
tree | d2c7ac4906cb51ff7183ab48b497675584c72cfc /recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.7/0025-ALSA-hda-Fix-silent-speaker-output-on-Acer-Aspire-69.patch | |
parent | e31722adc42ef202ae273571ce19a7ac304e5eb6 (diff) | |
download | meta-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.patch | 78 |
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 @@ | |||
1 | From 2edcb814b345ab919010974e88a4bbd407bf4db8 Mon Sep 17 00:00:00 2001 | ||
2 | From: Takashi Iwai <tiwai@suse.de> | ||
3 | Date: Mon, 13 Feb 2012 15:25:07 +0100 | ||
4 | Subject: [PATCH 25/30] ALSA: hda - Fix silent speaker output on Acer Aspire | ||
5 | 6935 | ||
6 | |||
7 | commit 02a237b24d57e2e2d5402c92549e9e792aa24359 upstream. | ||
8 | |||
9 | Since 3.2 kernel, the driver starts trying to assign the multi-io DACs | ||
10 | before the speaker, thus it assigns DAC2/3 for multi-io and DAC4 for | ||
11 | the speaker for a standard laptop setup like a HP, a speaker, a mic-in | ||
12 | and a line-in. However, on Acer Aspire 6935, it seems that the | ||
13 | speaker pin 0x14 must be connected with either DAC1 or 2; otherwise it | ||
14 | results in silence by some reason, although the codec itself allows | ||
15 | the routing to DAC3/4. | ||
16 | |||
17 | As a workaround, the connection list of each pin is reduced to be | ||
18 | mapped to either only DAC1/2 or DAC3/4, so that the compatible | ||
19 | assignment as in kernel 3.1 is achieved. | ||
20 | |||
21 | Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=42740 | ||
22 | |||
23 | Signed-off-by: Takashi Iwai <tiwai@suse.de> | ||
24 | Signed-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 | |||
29 | diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c | ||
30 | index 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 | -- | ||
77 | 1.7.7.4 | ||
78 | |||