]>
Commit | Line | Data |
---|---|---|
00e5a55c BS |
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 |