]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - src/patches/suse-2.6.27.25/patches.drivers/alsa-hda-gateway-fix2
Updated xen patches taken from suse.
[people/pmueller/ipfire-2.x.git] / src / patches / suse-2.6.27.25 / patches.drivers / alsa-hda-gateway-fix2
1 From 58eec4235d63e07b98544527e031e7ae807e15df Mon Sep 17 00:00:00 2001
2 From: Mauro Carvalho Chehab <mchehab@infradead.org>
3 Date: Mon, 11 Aug 2008 10:18:39 +0200
4 Subject: ALSA: hda - More fixes on Gateway entries
5 Patch-mainline: 2.6.29-rc1
6 References: bnc#460478
7
8 Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
9 Signed-off-by: Takashi Iwai <tiwai@suse.de>
10
11 ---
12 sound/pci/hda/patch_sigmatel.c | 72 ++++++++++++++++++-----------------------
13 1 file changed, 33 insertions(+), 39 deletions(-)
14
15 --- a/sound/pci/hda/patch_sigmatel.c
16 +++ b/sound/pci/hda/patch_sigmatel.c
17 @@ -55,7 +55,8 @@ enum {
18 STAC_9200_DELL_M25,
19 STAC_9200_DELL_M26,
20 STAC_9200_DELL_M27,
21 - STAC_9200_GATEWAY,
22 + STAC_9200_M4,
23 + STAC_9200_M4_2,
24 STAC_9200_PANASONIC,
25 STAC_9200_MODELS
26 };
27 @@ -101,8 +102,6 @@ enum {
28 STAC_M3,
29 STAC_M5,
30 STAC_M6,
31 - STAC_MA6,
32 - STAC_PA6,
33 STAC_925x_MODELS
34 };
35
36 @@ -1326,7 +1325,16 @@ static unsigned int ref9200_pin_configs[
37 0x02a19020, 0x01a19021, 0x90100140, 0x01813122,
38 };
39
40 -/*
41 +static unsigned int gateway9200_m4_pin_configs[8] = {
42 + 0x400000fe, 0x404500f4, 0x400100f0, 0x90110010,
43 + 0x400100f1, 0x02a1902e, 0x500000f2, 0x500000f3,
44 +};
45 +static unsigned int gateway9200_m4_2_pin_configs[8] = {
46 + 0x400000fe, 0x404500f4, 0x400100f0, 0x90110010,
47 + 0x400100f1, 0x02a1902e, 0x500000f2, 0x500000f3,
48 +};
49 +
50 +/*
51 STAC 9200 pin configs for
52 102801A8
53 102801DE
54 @@ -1456,6 +1464,8 @@ static unsigned int *stac9200_brd_tbl[ST
55 [STAC_9200_DELL_M25] = dell9200_m25_pin_configs,
56 [STAC_9200_DELL_M26] = dell9200_m26_pin_configs,
57 [STAC_9200_DELL_M27] = dell9200_m27_pin_configs,
58 + [STAC_9200_M4] = gateway9200_m4_pin_configs,
59 + [STAC_9200_M4_2] = gateway9200_m4_2_pin_configs,
60 [STAC_9200_PANASONIC] = ref9200_pin_configs,
61 };
62
63 @@ -1472,7 +1482,8 @@ static const char *stac9200_models[STAC_
64 [STAC_9200_DELL_M25] = "dell-m25",
65 [STAC_9200_DELL_M26] = "dell-m26",
66 [STAC_9200_DELL_M27] = "dell-m27",
67 - [STAC_9200_GATEWAY] = "gateway",
68 + [STAC_9200_M4] = "gateway-m4",
69 + [STAC_9200_M4_2] = "gateway-m4-2",
70 [STAC_9200_PANASONIC] = "panasonic",
71 };
72
73 @@ -1542,11 +1553,9 @@ static struct snd_pci_quirk stac9200_cfg
74 /* Panasonic */
75 SND_PCI_QUIRK(0x10f7, 0x8338, "Panasonic CF-74", STAC_9200_PANASONIC),
76 /* Gateway machines needs EAPD to be set on resume */
77 - SND_PCI_QUIRK(0x107b, 0x0205, "Gateway S-7110M", STAC_9200_GATEWAY),
78 - SND_PCI_QUIRK(0x107b, 0x0317, "Gateway MT3423, MX341*",
79 - STAC_9200_GATEWAY),
80 - SND_PCI_QUIRK(0x107b, 0x0318, "Gateway ML3019, MT3707",
81 - STAC_9200_GATEWAY),
82 + SND_PCI_QUIRK(0x107b, 0x0205, "Gateway S-7110M", STAC_9200_M4),
83 + SND_PCI_QUIRK(0x107b, 0x0317, "Gateway MT3423, MX341*", STAC_9200_M4_2),
84 + SND_PCI_QUIRK(0x107b, 0x0318, "Gateway ML3019, MT3707", STAC_9200_M4_2),
85 /* OQO Mobile */
86 SND_PCI_QUIRK(0x1106, 0x3288, "OQO Model 2", STAC_9200_OQO),
87 {} /* terminator */
88 @@ -1561,46 +1570,37 @@ static unsigned int stac925xM1_pin_confi
89 0x40c003f4, 0x424503f2, 0x400000f3, 0x02a19020,
90 0x40a000f0, 0x90100210, 0x400003f1, 0x9033032e,
91 };
92 +
93 static unsigned int stac925xM1_2_pin_configs[8] = {
94 0x40c003f4, 0x424503f2, 0x400000f3, 0x02a19020,
95 0x40a000f0, 0x90100210, 0x400003f1, 0x9033032e,
96 };
97 +
98 static unsigned int stac925xM2_pin_configs[8] = {
99 0x40c003f4, 0x424503f2, 0x400000f3, 0x02a19020,
100 0x40a000f0, 0x90100210, 0x400003f1, 0x9033032e,
101 };
102
103 +static unsigned int stac925xM2_2_pin_configs[8] = {
104 + 0x40c003f4, 0x424503f2, 0x400000f3, 0x02a19020,
105 + 0x40a000f0, 0x90100210, 0x400003f1, 0x9033032e,
106 +};
107 +
108 static unsigned int stac925xM3_pin_configs[8] = {
109 0x40c003f4, 0x424503f2, 0x400000f3, 0x02a19020,
110 0x40a000f0, 0x90100210, 0x400003f1, 0x503303f3,
111 };
112 +
113 static unsigned int stac925xM5_pin_configs[8] = {
114 0x40c003f4, 0x424503f2, 0x400000f3, 0x02a19020,
115 0x40a000f0, 0x90100210, 0x400003f1, 0x9033032e,
116 };
117
118 -/* Original M6 entry at .ini file */
119 static unsigned int stac925xM6_pin_configs[8] = {
120 0x40c003f4, 0x424503f2, 0x400000f3, 0x02a19020,
121 0x40a000f0, 0x90100210, 0x400003f1, 0x90330320,
122 };
123
124 -static unsigned int stac925x_MA6_pin_configs[8] = {
125 - 0x40c003f0, 0x424503f2, 0x01813022, 0x02a19021,
126 - 0x90a70320, 0x90100211, 0x400003f1, 0x9033032e,
127 -};
128 -
129 -/* This entry should be M2 */
130 -static unsigned int stac925x_PA6_pin_configs[8] = {
131 - 0x40c003f0, 0x424503f2, 0x01813022, 0x02a19021,
132 - 0x50a103f0, 0x90100211, 0x400003f1, 0x9033032e,
133 -};
134 -
135 -static unsigned int stac925xM2_2_pin_configs[8] = {
136 - 0x40c003f3, 0x424503f2, 0x04180011, 0x02a19020,
137 - 0x50a103f0, 0x90100212, 0x400003f1, 0x9033032e,
138 -};
139 -
140 static unsigned int *stac925x_brd_tbl[STAC_925x_MODELS] = {
141 [STAC_REF] = ref925x_pin_configs,
142 [STAC_M1] = stac925xM1_pin_configs,
143 @@ -1610,8 +1610,6 @@ static unsigned int *stac925x_brd_tbl[ST
144 [STAC_M3] = stac925xM3_pin_configs,
145 [STAC_M5] = stac925xM5_pin_configs,
146 [STAC_M6] = stac925xM6_pin_configs,
147 - [STAC_MA6] = stac925x_MA6_pin_configs,
148 - [STAC_PA6] = stac925x_PA6_pin_configs,
149 };
150
151 static const char *stac925x_models[STAC_925x_MODELS] = {
152 @@ -1623,24 +1621,19 @@ static const char *stac925x_models[STAC_
153 [STAC_M3] = "m3",
154 [STAC_M5] = "m5",
155 [STAC_M6] = "m6",
156 - [STAC_MA6] = "ma6",
157 - [STAC_PA6] = "pa6",
158 };
159
160 static struct snd_pci_quirk stac925x_codec_id_cfg_tbl[] = {
161 - SND_PCI_QUIRK(0x107b, 0x0316, "Gateway M255", STAC_REF),
162 - SND_PCI_QUIRK(0x107b, 0x0366, "Gateway MP6954", STAC_REF),
163 -
164 - SND_PCI_QUIRK(0x107b, 0x0461, "Gateway NX560XL", STAC_MA6),
165 - SND_PCI_QUIRK(0x107b, 0x0681, "Gateway NX860", STAC_PA6),
166 + SND_PCI_QUIRK(0x107b, 0x0316, "Gateway M255", STAC_M2),
167 + SND_PCI_QUIRK(0x107b, 0x0366, "Gateway MP6954", STAC_M5),
168 + SND_PCI_QUIRK(0x107b, 0x0461, "Gateway NX560XL", STAC_M1),
169 + SND_PCI_QUIRK(0x107b, 0x0681, "Gateway NX860", STAC_M2),
170 SND_PCI_QUIRK(0x107b, 0x0367, "Gateway MX6453", STAC_M1_2),
171 -
172 /* Not sure about the brand name for those */
173 SND_PCI_QUIRK(0x107b, 0x0281, "Gateway mobile", STAC_M1),
174 SND_PCI_QUIRK(0x107b, 0x0507, "Gateway mobile", STAC_M3),
175 SND_PCI_QUIRK(0x107b, 0x0281, "Gateway mobile", STAC_M6),
176 SND_PCI_QUIRK(0x107b, 0x0685, "Gateway mobile", STAC_M2_2),
177 -
178 {} /* terminator */
179 };
180
181 @@ -4177,7 +4170,8 @@ static int patch_stac9200(struct hda_cod
182 spec->num_adcs = 1;
183 spec->num_pwrs = 0;
184
185 - if (spec->board_config == STAC_9200_GATEWAY ||
186 + if (spec->board_config == STAC_9200_M4 ||
187 + spec->board_config == STAC_9200_M4_2 ||
188 spec->board_config == STAC_9200_OQO)
189 spec->init = stac9200_eapd_init;
190 else