Merge remote-tracking branch 'origin/master' into pipe-video
[mesa.git] / src / gallium / winsys / r600 / drm / radeon_pciid.c
1 /*
2 * Copyright 2010 Jerome Glisse <glisse@freedesktop.org>
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * on the rights to use, copy, modify, merge, publish, distribute, sub
8 * license, and/or sell copies of the Software, and to permit persons to whom
9 * the Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice (including the next
12 * paragraph) shall be included in all copies or substantial portions of the
13 * Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
18 * THE AUTHOR(S) AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
19 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
20 * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
21 * USE OR OTHER DEALINGS IN THE SOFTWARE.
22 *
23 * Authors:
24 * Jerome Glisse
25 */
26 #include <stdlib.h>
27 #include "r600_priv.h"
28
29 struct pci_id {
30 unsigned vendor;
31 unsigned device;
32 unsigned family;
33 };
34
35 static const struct pci_id radeon_pci_id[] = {
36 {0x1002, 0x3150, CHIP_RV380},
37 {0x1002, 0x3152, CHIP_RV380},
38 {0x1002, 0x3154, CHIP_RV380},
39 {0x1002, 0x3E50, CHIP_RV380},
40 {0x1002, 0x3E54, CHIP_RV380},
41 {0x1002, 0x4136, CHIP_RS100},
42 {0x1002, 0x4137, CHIP_RS200},
43 {0x1002, 0x4144, CHIP_R300},
44 {0x1002, 0x4145, CHIP_R300},
45 {0x1002, 0x4146, CHIP_R300},
46 {0x1002, 0x4147, CHIP_R300},
47 {0x1002, 0x4148, CHIP_R350},
48 {0x1002, 0x4149, CHIP_R350},
49 {0x1002, 0x414A, CHIP_R350},
50 {0x1002, 0x414B, CHIP_R350},
51 {0x1002, 0x4150, CHIP_RV350},
52 {0x1002, 0x4151, CHIP_RV350},
53 {0x1002, 0x4152, CHIP_RV350},
54 {0x1002, 0x4153, CHIP_RV350},
55 {0x1002, 0x4154, CHIP_RV350},
56 {0x1002, 0x4155, CHIP_RV350},
57 {0x1002, 0x4156, CHIP_RV350},
58 {0x1002, 0x4237, CHIP_RS200},
59 {0x1002, 0x4242, CHIP_R200},
60 {0x1002, 0x4243, CHIP_R200},
61 {0x1002, 0x4336, CHIP_RS100},
62 {0x1002, 0x4337, CHIP_RS200},
63 {0x1002, 0x4437, CHIP_RS200},
64 {0x1002, 0x4966, CHIP_RV250},
65 {0x1002, 0x4967, CHIP_RV250},
66 {0x1002, 0x4A48, CHIP_R420},
67 {0x1002, 0x4A49, CHIP_R420},
68 {0x1002, 0x4A4A, CHIP_R420},
69 {0x1002, 0x4A4B, CHIP_R420},
70 {0x1002, 0x4A4C, CHIP_R420},
71 {0x1002, 0x4A4D, CHIP_R420},
72 {0x1002, 0x4A4E, CHIP_R420},
73 {0x1002, 0x4A4F, CHIP_R420},
74 {0x1002, 0x4A50, CHIP_R420},
75 {0x1002, 0x4A54, CHIP_R420},
76 {0x1002, 0x4B48, CHIP_R420},
77 {0x1002, 0x4B49, CHIP_R420},
78 {0x1002, 0x4B4A, CHIP_R420},
79 {0x1002, 0x4B4B, CHIP_R420},
80 {0x1002, 0x4B4C, CHIP_R420},
81 {0x1002, 0x4C57, CHIP_RV200},
82 {0x1002, 0x4C58, CHIP_RV200},
83 {0x1002, 0x4C59, CHIP_RV100},
84 {0x1002, 0x4C5A, CHIP_RV100},
85 {0x1002, 0x4C64, CHIP_RV250},
86 {0x1002, 0x4C66, CHIP_RV250},
87 {0x1002, 0x4C67, CHIP_RV250},
88 {0x1002, 0x4E44, CHIP_R300},
89 {0x1002, 0x4E45, CHIP_R300},
90 {0x1002, 0x4E46, CHIP_R300},
91 {0x1002, 0x4E47, CHIP_R300},
92 {0x1002, 0x4E48, CHIP_R350},
93 {0x1002, 0x4E49, CHIP_R350},
94 {0x1002, 0x4E4A, CHIP_R350},
95 {0x1002, 0x4E4B, CHIP_R350},
96 {0x1002, 0x4E50, CHIP_RV350},
97 {0x1002, 0x4E51, CHIP_RV350},
98 {0x1002, 0x4E52, CHIP_RV350},
99 {0x1002, 0x4E53, CHIP_RV350},
100 {0x1002, 0x4E54, CHIP_RV350},
101 {0x1002, 0x4E56, CHIP_RV350},
102 {0x1002, 0x5144, CHIP_R100},
103 {0x1002, 0x5145, CHIP_R100},
104 {0x1002, 0x5146, CHIP_R100},
105 {0x1002, 0x5147, CHIP_R100},
106 {0x1002, 0x5148, CHIP_R200},
107 {0x1002, 0x514C, CHIP_R200},
108 {0x1002, 0x514D, CHIP_R200},
109 {0x1002, 0x5157, CHIP_RV200},
110 {0x1002, 0x5158, CHIP_RV200},
111 {0x1002, 0x5159, CHIP_RV100},
112 {0x1002, 0x515A, CHIP_RV100},
113 {0x1002, 0x515E, CHIP_RV100},
114 {0x1002, 0x5460, CHIP_RV380},
115 {0x1002, 0x5462, CHIP_RV380},
116 {0x1002, 0x5464, CHIP_RV380},
117 {0x1002, 0x5657, CHIP_RV380},
118 {0x1002, 0x5548, CHIP_R423},
119 {0x1002, 0x5549, CHIP_R423},
120 {0x1002, 0x554A, CHIP_R423},
121 {0x1002, 0x554B, CHIP_R423},
122 {0x1002, 0x554C, CHIP_R423},
123 {0x1002, 0x554D, CHIP_R423},
124 {0x1002, 0x554E, CHIP_R423},
125 {0x1002, 0x554F, CHIP_R423},
126 {0x1002, 0x5550, CHIP_R423},
127 {0x1002, 0x5551, CHIP_R423},
128 {0x1002, 0x5552, CHIP_R423},
129 {0x1002, 0x5554, CHIP_R423},
130 {0x1002, 0x564A, CHIP_RV410},
131 {0x1002, 0x564B, CHIP_RV410},
132 {0x1002, 0x564F, CHIP_RV410},
133 {0x1002, 0x5652, CHIP_RV410},
134 {0x1002, 0x5653, CHIP_RV410},
135 {0x1002, 0x5834, CHIP_RS300},
136 {0x1002, 0x5835, CHIP_RS300},
137 {0x1002, 0x5954, CHIP_RS480},
138 {0x1002, 0x5955, CHIP_RS480},
139 {0x1002, 0x5974, CHIP_RS480},
140 {0x1002, 0x5975, CHIP_RS480},
141 {0x1002, 0x5960, CHIP_RV280},
142 {0x1002, 0x5961, CHIP_RV280},
143 {0x1002, 0x5962, CHIP_RV280},
144 {0x1002, 0x5964, CHIP_RV280},
145 {0x1002, 0x5965, CHIP_RV280},
146 {0x1002, 0x5969, CHIP_RV100},
147 {0x1002, 0x5a41, CHIP_RS400},
148 {0x1002, 0x5a42, CHIP_RS400},
149 {0x1002, 0x5a61, CHIP_RS400},
150 {0x1002, 0x5a62, CHIP_RS400},
151 {0x1002, 0x5b60, CHIP_RV380},
152 {0x1002, 0x5b62, CHIP_RV380},
153 {0x1002, 0x5b63, CHIP_RV380},
154 {0x1002, 0x5b64, CHIP_RV380},
155 {0x1002, 0x5b65, CHIP_RV380},
156 {0x1002, 0x5c61, CHIP_RV280},
157 {0x1002, 0x5c63, CHIP_RV280},
158 {0x1002, 0x5d48, CHIP_R423},
159 {0x1002, 0x5d49, CHIP_R423},
160 {0x1002, 0x5d4a, CHIP_R423},
161 {0x1002, 0x5d4c, CHIP_R423},
162 {0x1002, 0x5d4d, CHIP_R423},
163 {0x1002, 0x5d4e, CHIP_R423},
164 {0x1002, 0x5d4f, CHIP_R423},
165 {0x1002, 0x5d50, CHIP_R423},
166 {0x1002, 0x5d52, CHIP_R423},
167 {0x1002, 0x5d57, CHIP_R423},
168 {0x1002, 0x5e48, CHIP_RV410},
169 {0x1002, 0x5e4a, CHIP_RV410},
170 {0x1002, 0x5e4b, CHIP_RV410},
171 {0x1002, 0x5e4c, CHIP_RV410},
172 {0x1002, 0x5e4d, CHIP_RV410},
173 {0x1002, 0x5e4f, CHIP_RV410},
174 {0x1002, 0x6880, CHIP_CYPRESS},
175 {0x1002, 0x6888, CHIP_CYPRESS},
176 {0x1002, 0x6889, CHIP_CYPRESS},
177 {0x1002, 0x688A, CHIP_CYPRESS},
178 {0x1002, 0x6898, CHIP_CYPRESS},
179 {0x1002, 0x6899, CHIP_CYPRESS},
180 {0x1002, 0x689b, CHIP_CYPRESS},
181 {0x1002, 0x689c, CHIP_HEMLOCK},
182 {0x1002, 0x689d, CHIP_HEMLOCK},
183 {0x1002, 0x689e, CHIP_CYPRESS},
184 {0x1002, 0x68a0, CHIP_JUNIPER},
185 {0x1002, 0x68a1, CHIP_JUNIPER},
186 {0x1002, 0x68a8, CHIP_JUNIPER},
187 {0x1002, 0x68a9, CHIP_JUNIPER},
188 {0x1002, 0x68b0, CHIP_JUNIPER},
189 {0x1002, 0x68b8, CHIP_JUNIPER},
190 {0x1002, 0x68b9, CHIP_JUNIPER},
191 {0x1002, 0x68ba, CHIP_JUNIPER},
192 {0x1002, 0x68be, CHIP_JUNIPER},
193 {0x1002, 0x68bf, CHIP_JUNIPER},
194 {0x1002, 0x68c0, CHIP_REDWOOD},
195 {0x1002, 0x68c1, CHIP_REDWOOD},
196 {0x1002, 0x68c8, CHIP_REDWOOD},
197 {0x1002, 0x68c9, CHIP_REDWOOD},
198 {0x1002, 0x68d8, CHIP_REDWOOD},
199 {0x1002, 0x68d9, CHIP_REDWOOD},
200 {0x1002, 0x68da, CHIP_REDWOOD},
201 {0x1002, 0x68de, CHIP_REDWOOD},
202 {0x1002, 0x68e0, CHIP_CEDAR},
203 {0x1002, 0x68e1, CHIP_CEDAR},
204 {0x1002, 0x68e4, CHIP_CEDAR},
205 {0x1002, 0x68e5, CHIP_CEDAR},
206 {0x1002, 0x68e8, CHIP_CEDAR},
207 {0x1002, 0x68e9, CHIP_CEDAR},
208 {0x1002, 0x68f1, CHIP_CEDAR},
209 {0x1002, 0x68f2, CHIP_CEDAR},
210 {0x1002, 0x68f8, CHIP_CEDAR},
211 {0x1002, 0x68f9, CHIP_CEDAR},
212 {0x1002, 0x68fe, CHIP_CEDAR},
213 {0x1002, 0x7100, CHIP_R520},
214 {0x1002, 0x7101, CHIP_R520},
215 {0x1002, 0x7102, CHIP_R520},
216 {0x1002, 0x7103, CHIP_R520},
217 {0x1002, 0x7104, CHIP_R520},
218 {0x1002, 0x7105, CHIP_R520},
219 {0x1002, 0x7106, CHIP_R520},
220 {0x1002, 0x7108, CHIP_R520},
221 {0x1002, 0x7109, CHIP_R520},
222 {0x1002, 0x710A, CHIP_R520},
223 {0x1002, 0x710B, CHIP_R520},
224 {0x1002, 0x710C, CHIP_R520},
225 {0x1002, 0x710E, CHIP_R520},
226 {0x1002, 0x710F, CHIP_R520},
227 {0x1002, 0x7140, CHIP_RV515},
228 {0x1002, 0x7141, CHIP_RV515},
229 {0x1002, 0x7142, CHIP_RV515},
230 {0x1002, 0x7143, CHIP_RV515},
231 {0x1002, 0x7144, CHIP_RV515},
232 {0x1002, 0x7145, CHIP_RV515},
233 {0x1002, 0x7146, CHIP_RV515},
234 {0x1002, 0x7147, CHIP_RV515},
235 {0x1002, 0x7149, CHIP_RV515},
236 {0x1002, 0x714A, CHIP_RV515},
237 {0x1002, 0x714B, CHIP_RV515},
238 {0x1002, 0x714C, CHIP_RV515},
239 {0x1002, 0x714D, CHIP_RV515},
240 {0x1002, 0x714E, CHIP_RV515},
241 {0x1002, 0x714F, CHIP_RV515},
242 {0x1002, 0x7151, CHIP_RV515},
243 {0x1002, 0x7152, CHIP_RV515},
244 {0x1002, 0x7153, CHIP_RV515},
245 {0x1002, 0x715E, CHIP_RV515},
246 {0x1002, 0x715F, CHIP_RV515},
247 {0x1002, 0x7180, CHIP_RV515},
248 {0x1002, 0x7181, CHIP_RV515},
249 {0x1002, 0x7183, CHIP_RV515},
250 {0x1002, 0x7186, CHIP_RV515},
251 {0x1002, 0x7187, CHIP_RV515},
252 {0x1002, 0x7188, CHIP_RV515},
253 {0x1002, 0x718A, CHIP_RV515},
254 {0x1002, 0x718B, CHIP_RV515},
255 {0x1002, 0x718C, CHIP_RV515},
256 {0x1002, 0x718D, CHIP_RV515},
257 {0x1002, 0x718F, CHIP_RV515},
258 {0x1002, 0x7193, CHIP_RV515},
259 {0x1002, 0x7196, CHIP_RV515},
260 {0x1002, 0x719B, CHIP_RV515},
261 {0x1002, 0x719F, CHIP_RV515},
262 {0x1002, 0x71C0, CHIP_RV530},
263 {0x1002, 0x71C1, CHIP_RV530},
264 {0x1002, 0x71C2, CHIP_RV530},
265 {0x1002, 0x71C3, CHIP_RV530},
266 {0x1002, 0x71C4, CHIP_RV530},
267 {0x1002, 0x71C5, CHIP_RV530},
268 {0x1002, 0x71C6, CHIP_RV530},
269 {0x1002, 0x71C7, CHIP_RV530},
270 {0x1002, 0x71CD, CHIP_RV530},
271 {0x1002, 0x71CE, CHIP_RV530},
272 {0x1002, 0x71D2, CHIP_RV530},
273 {0x1002, 0x71D4, CHIP_RV530},
274 {0x1002, 0x71D5, CHIP_RV530},
275 {0x1002, 0x71D6, CHIP_RV530},
276 {0x1002, 0x71DA, CHIP_RV530},
277 {0x1002, 0x71DE, CHIP_RV530},
278 {0x1002, 0x7200, CHIP_RV515},
279 {0x1002, 0x7210, CHIP_RV515},
280 {0x1002, 0x7211, CHIP_RV515},
281 {0x1002, 0x7240, CHIP_R580},
282 {0x1002, 0x7243, CHIP_R580},
283 {0x1002, 0x7244, CHIP_R580},
284 {0x1002, 0x7245, CHIP_R580},
285 {0x1002, 0x7246, CHIP_R580},
286 {0x1002, 0x7247, CHIP_R580},
287 {0x1002, 0x7248, CHIP_R580},
288 {0x1002, 0x7249, CHIP_R580},
289 {0x1002, 0x724A, CHIP_R580},
290 {0x1002, 0x724B, CHIP_R580},
291 {0x1002, 0x724C, CHIP_R580},
292 {0x1002, 0x724D, CHIP_R580},
293 {0x1002, 0x724E, CHIP_R580},
294 {0x1002, 0x724F, CHIP_R580},
295 {0x1002, 0x7280, CHIP_RV570},
296 {0x1002, 0x7281, CHIP_RV560},
297 {0x1002, 0x7283, CHIP_RV560},
298 {0x1002, 0x7284, CHIP_R580},
299 {0x1002, 0x7287, CHIP_RV560},
300 {0x1002, 0x7288, CHIP_RV570},
301 {0x1002, 0x7289, CHIP_RV570},
302 {0x1002, 0x728B, CHIP_RV570},
303 {0x1002, 0x728C, CHIP_RV570},
304 {0x1002, 0x7290, CHIP_RV560},
305 {0x1002, 0x7291, CHIP_RV560},
306 {0x1002, 0x7293, CHIP_RV560},
307 {0x1002, 0x7297, CHIP_RV560},
308 {0x1002, 0x7834, CHIP_RS300},
309 {0x1002, 0x7835, CHIP_RS300},
310 {0x1002, 0x791e, CHIP_RS690},
311 {0x1002, 0x791f, CHIP_RS690},
312 {0x1002, 0x793f, CHIP_RS600},
313 {0x1002, 0x7941, CHIP_RS600},
314 {0x1002, 0x7942, CHIP_RS600},
315 {0x1002, 0x796c, CHIP_RS740},
316 {0x1002, 0x796d, CHIP_RS740},
317 {0x1002, 0x796e, CHIP_RS740},
318 {0x1002, 0x796f, CHIP_RS740},
319 {0x1002, 0x9400, CHIP_R600},
320 {0x1002, 0x9401, CHIP_R600},
321 {0x1002, 0x9402, CHIP_R600},
322 {0x1002, 0x9403, CHIP_R600},
323 {0x1002, 0x9405, CHIP_R600},
324 {0x1002, 0x940A, CHIP_R600},
325 {0x1002, 0x940B, CHIP_R600},
326 {0x1002, 0x940F, CHIP_R600},
327 {0x1002, 0x94A0, CHIP_RV740},
328 {0x1002, 0x94A1, CHIP_RV740},
329 {0x1002, 0x94A3, CHIP_RV740},
330 {0x1002, 0x94B1, CHIP_RV740},
331 {0x1002, 0x94B3, CHIP_RV740},
332 {0x1002, 0x94B4, CHIP_RV740},
333 {0x1002, 0x94B5, CHIP_RV740},
334 {0x1002, 0x94B9, CHIP_RV740},
335 {0x1002, 0x9440, CHIP_RV770},
336 {0x1002, 0x9441, CHIP_RV770},
337 {0x1002, 0x9442, CHIP_RV770},
338 {0x1002, 0x9443, CHIP_RV770},
339 {0x1002, 0x9444, CHIP_RV770},
340 {0x1002, 0x9446, CHIP_RV770},
341 {0x1002, 0x944A, CHIP_RV770},
342 {0x1002, 0x944B, CHIP_RV770},
343 {0x1002, 0x944C, CHIP_RV770},
344 {0x1002, 0x944E, CHIP_RV770},
345 {0x1002, 0x9450, CHIP_RV770},
346 {0x1002, 0x9452, CHIP_RV770},
347 {0x1002, 0x9456, CHIP_RV770},
348 {0x1002, 0x945A, CHIP_RV770},
349 {0x1002, 0x945B, CHIP_RV770},
350 {0x1002, 0x9460, CHIP_RV770},
351 {0x1002, 0x9462, CHIP_RV770},
352 {0x1002, 0x946A, CHIP_RV770},
353 {0x1002, 0x946B, CHIP_RV770},
354 {0x1002, 0x947A, CHIP_RV770},
355 {0x1002, 0x947B, CHIP_RV770},
356 {0x1002, 0x9480, CHIP_RV730},
357 {0x1002, 0x9487, CHIP_RV730},
358 {0x1002, 0x9488, CHIP_RV730},
359 {0x1002, 0x9489, CHIP_RV730},
360 {0x1002, 0x948F, CHIP_RV730},
361 {0x1002, 0x9490, CHIP_RV730},
362 {0x1002, 0x9491, CHIP_RV730},
363 {0x1002, 0x9495, CHIP_RV730},
364 {0x1002, 0x9498, CHIP_RV730},
365 {0x1002, 0x949C, CHIP_RV730},
366 {0x1002, 0x949E, CHIP_RV730},
367 {0x1002, 0x949F, CHIP_RV730},
368 {0x1002, 0x94C0, CHIP_RV610},
369 {0x1002, 0x94C1, CHIP_RV610},
370 {0x1002, 0x94C3, CHIP_RV610},
371 {0x1002, 0x94C4, CHIP_RV610},
372 {0x1002, 0x94C5, CHIP_RV610},
373 {0x1002, 0x94C6, CHIP_RV610},
374 {0x1002, 0x94C7, CHIP_RV610},
375 {0x1002, 0x94C8, CHIP_RV610},
376 {0x1002, 0x94C9, CHIP_RV610},
377 {0x1002, 0x94CB, CHIP_RV610},
378 {0x1002, 0x94CC, CHIP_RV610},
379 {0x1002, 0x94CD, CHIP_RV610},
380 {0x1002, 0x9500, CHIP_RV670},
381 {0x1002, 0x9501, CHIP_RV670},
382 {0x1002, 0x9504, CHIP_RV670},
383 {0x1002, 0x9505, CHIP_RV670},
384 {0x1002, 0x9506, CHIP_RV670},
385 {0x1002, 0x9507, CHIP_RV670},
386 {0x1002, 0x9508, CHIP_RV670},
387 {0x1002, 0x9509, CHIP_RV670},
388 {0x1002, 0x950F, CHIP_RV670},
389 {0x1002, 0x9511, CHIP_RV670},
390 {0x1002, 0x9515, CHIP_RV670},
391 {0x1002, 0x9517, CHIP_RV670},
392 {0x1002, 0x9519, CHIP_RV670},
393 {0x1002, 0x9540, CHIP_RV710},
394 {0x1002, 0x9541, CHIP_RV710},
395 {0x1002, 0x9542, CHIP_RV710},
396 {0x1002, 0x954E, CHIP_RV710},
397 {0x1002, 0x954F, CHIP_RV710},
398 {0x1002, 0x9552, CHIP_RV710},
399 {0x1002, 0x9553, CHIP_RV710},
400 {0x1002, 0x9555, CHIP_RV710},
401 {0x1002, 0x9557, CHIP_RV710},
402 {0x1002, 0x9580, CHIP_RV630},
403 {0x1002, 0x9581, CHIP_RV630},
404 {0x1002, 0x9583, CHIP_RV630},
405 {0x1002, 0x9586, CHIP_RV630},
406 {0x1002, 0x9587, CHIP_RV630},
407 {0x1002, 0x9588, CHIP_RV630},
408 {0x1002, 0x9589, CHIP_RV630},
409 {0x1002, 0x958A, CHIP_RV630},
410 {0x1002, 0x958B, CHIP_RV630},
411 {0x1002, 0x958C, CHIP_RV630},
412 {0x1002, 0x958D, CHIP_RV630},
413 {0x1002, 0x958E, CHIP_RV630},
414 {0x1002, 0x958F, CHIP_RV630},
415 {0x1002, 0x9590, CHIP_RV635},
416 {0x1002, 0x9591, CHIP_RV635},
417 {0x1002, 0x9593, CHIP_RV635},
418 {0x1002, 0x9595, CHIP_RV635},
419 {0x1002, 0x9596, CHIP_RV635},
420 {0x1002, 0x9597, CHIP_RV635},
421 {0x1002, 0x9598, CHIP_RV635},
422 {0x1002, 0x9599, CHIP_RV635},
423 {0x1002, 0x959B, CHIP_RV635},
424 {0x1002, 0x95C0, CHIP_RV620},
425 {0x1002, 0x95C2, CHIP_RV620},
426 {0x1002, 0x95C4, CHIP_RV620},
427 {0x1002, 0x95C5, CHIP_RV620},
428 {0x1002, 0x95C6, CHIP_RV620},
429 {0x1002, 0x95C7, CHIP_RV620},
430 {0x1002, 0x95C9, CHIP_RV620},
431 {0x1002, 0x95CC, CHIP_RV620},
432 {0x1002, 0x95CD, CHIP_RV620},
433 {0x1002, 0x95CE, CHIP_RV620},
434 {0x1002, 0x95CF, CHIP_RV620},
435 {0x1002, 0x9610, CHIP_RS780},
436 {0x1002, 0x9611, CHIP_RS780},
437 {0x1002, 0x9612, CHIP_RS780},
438 {0x1002, 0x9613, CHIP_RS780},
439 {0x1002, 0x9614, CHIP_RS780},
440 {0x1002, 0x9615, CHIP_RS780},
441 {0x1002, 0x9616, CHIP_RS780},
442 {0x1002, 0x9710, CHIP_RS880},
443 {0x1002, 0x9711, CHIP_RS880},
444 {0x1002, 0x9712, CHIP_RS880},
445 {0x1002, 0x9713, CHIP_RS880},
446 {0x1002, 0x9714, CHIP_RS880},
447 {0x1002, 0x9715, CHIP_RS880},
448 {0x1002, 0x9802, CHIP_PALM},
449 {0x1002, 0x9803, CHIP_PALM},
450 {0x1002, 0x9804, CHIP_PALM},
451 {0x1002, 0x9805, CHIP_PALM},
452 {0x1002, 0x9806, CHIP_PALM},
453 {0x1002, 0x9807, CHIP_PALM},
454 {0x1002, 0x6720, CHIP_BARTS},
455 {0x1002, 0x6721, CHIP_BARTS},
456 {0x1002, 0x6722, CHIP_BARTS},
457 {0x1002, 0x6723, CHIP_BARTS},
458 {0x1002, 0x6724, CHIP_BARTS},
459 {0x1002, 0x6725, CHIP_BARTS},
460 {0x1002, 0x6726, CHIP_BARTS},
461 {0x1002, 0x6727, CHIP_BARTS},
462 {0x1002, 0x6728, CHIP_BARTS},
463 {0x1002, 0x6729, CHIP_BARTS},
464 {0x1002, 0x6738, CHIP_BARTS},
465 {0x1002, 0x6739, CHIP_BARTS},
466 {0x1002, 0x673e, CHIP_BARTS},
467 {0x1002, 0x6740, CHIP_TURKS},
468 {0x1002, 0x6741, CHIP_TURKS},
469 {0x1002, 0x6742, CHIP_TURKS},
470 {0x1002, 0x6743, CHIP_TURKS},
471 {0x1002, 0x6744, CHIP_TURKS},
472 {0x1002, 0x6745, CHIP_TURKS},
473 {0x1002, 0x6746, CHIP_TURKS},
474 {0x1002, 0x6747, CHIP_TURKS},
475 {0x1002, 0x6748, CHIP_TURKS},
476 {0x1002, 0x6749, CHIP_TURKS},
477 {0x1002, 0x6750, CHIP_TURKS},
478 {0x1002, 0x6758, CHIP_TURKS},
479 {0x1002, 0x6759, CHIP_TURKS},
480 {0x1002, 0x6760, CHIP_CAICOS},
481 {0x1002, 0x6761, CHIP_CAICOS},
482 {0x1002, 0x6762, CHIP_CAICOS},
483 {0x1002, 0x6763, CHIP_CAICOS},
484 {0x1002, 0x6764, CHIP_CAICOS},
485 {0x1002, 0x6765, CHIP_CAICOS},
486 {0x1002, 0x6766, CHIP_CAICOS},
487 {0x1002, 0x6767, CHIP_CAICOS},
488 {0x1002, 0x6768, CHIP_CAICOS},
489 {0x1002, 0x6770, CHIP_CAICOS},
490 {0x1002, 0x6779, CHIP_CAICOS},
491 {0, 0},
492 };
493
494 unsigned radeon_family_from_device(unsigned device)
495 {
496 unsigned i;
497
498 for (i = 0; ; i++) {
499 if (!radeon_pci_id[i].vendor)
500 return CHIP_UNKNOWN;
501 if (radeon_pci_id[i].device == device)
502 return radeon_pci_id[i].family;
503 }
504 return CHIP_UNKNOWN;
505 }