17f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke#ifndef _PCI_ID_DRIVER_MAP_H_
27f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke#define _PCI_ID_DRIVER_MAP_H_
37f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke
47f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke#include <stddef.h>
57f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke
67f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke#ifndef ARRAY_SIZE
77f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke#define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))
87f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke#endif
97f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke
107f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzkestatic const int i915_chip_ids[] = {
117f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke#define CHIPSET(chip, desc, misc) chip,
127f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke#include "pci_ids/i915_pci_ids.h"
137f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke#undef CHIPSET
147f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke};
157f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke
167f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzkestatic const int i965_chip_ids[] = {
177f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke#define CHIPSET(chip, desc, misc) chip,
187f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke#include "pci_ids/i965_pci_ids.h"
197f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke#undef CHIPSET
207f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke};
217f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke
227f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke#ifndef DRIVER_MAP_GALLIUM_ONLY
237f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzkestatic const int r100_chip_ids[] = {
247f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke#define CHIPSET(chip, name, family) chip,
257f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke#include "pci_ids/radeon_pci_ids.h"
267f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke#undef CHIPSET
277f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke};
287f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke
297f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzkestatic const int r200_chip_ids[] = {
307f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke#define CHIPSET(chip, name, family) chip,
317f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke#include "pci_ids/r200_pci_ids.h"
327f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke#undef CHIPSET
337f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke};
347f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke#endif
357f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke
367f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzkestatic const int r300_chip_ids[] = {
377f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke#define CHIPSET(chip, name, family) chip,
387f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke#include "pci_ids/r300_pci_ids.h"
397f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke#undef CHIPSET
407f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke};
417f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke
427f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzkestatic const int r600_chip_ids[] = {
437f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke#define CHIPSET(chip, name, family) chip,
447f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke#include "pci_ids/r600_pci_ids.h"
457f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke#undef CHIPSET
467f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke};
477f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke
48a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellardstatic const int radeonsi_chip_ids[] = {
49a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard#define CHIPSET(chip, name, family) chip,
50a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard#include "pci_ids/radeonsi_pci_ids.h"
51a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard#undef CHIPSET
52a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard};
53a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard
54d074acb4fa34712c49dd5b122bb074108cf5926bChia-I Wustatic const int vmwgfx_chip_ids[] = {
55d074acb4fa34712c49dd5b122bb074108cf5926bChia-I Wu#define CHIPSET(chip, name, family) chip,
56d074acb4fa34712c49dd5b122bb074108cf5926bChia-I Wu#include "pci_ids/vmwgfx_pci_ids.h"
57d074acb4fa34712c49dd5b122bb074108cf5926bChia-I Wu#undef CHIPSET
58d074acb4fa34712c49dd5b122bb074108cf5926bChia-I Wu};
59d074acb4fa34712c49dd5b122bb074108cf5926bChia-I Wu
607f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzkestatic const struct {
617f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke   int vendor_id;
627f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke   const char *driver;
637f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke   const int *chip_ids;
647f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke   int num_chips_ids;
657f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke} driver_map[] = {
667f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke   { 0x8086, "i915", i915_chip_ids, ARRAY_SIZE(i915_chip_ids) },
677f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke   { 0x8086, "i965", i965_chip_ids, ARRAY_SIZE(i965_chip_ids) },
687f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke#ifndef DRIVER_MAP_GALLIUM_ONLY
697f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke   { 0x1002, "radeon", r100_chip_ids, ARRAY_SIZE(r100_chip_ids) },
707f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke   { 0x1002, "r200", r200_chip_ids, ARRAY_SIZE(r200_chip_ids) },
717f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke#endif
727f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke   { 0x1002, "r300", r300_chip_ids, ARRAY_SIZE(r300_chip_ids) },
737f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke   { 0x1002, "r600", r600_chip_ids, ARRAY_SIZE(r600_chip_ids) },
74a75c6163e605f35b14f26930dd9227e4f337ec9eTom Stellard   { 0x1002, "radeonsi", radeonsi_chip_ids, ARRAY_SIZE(radeonsi_chip_ids) },
757f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke   { 0x10de, "nouveau", NULL, -1 },
76d074acb4fa34712c49dd5b122bb074108cf5926bChia-I Wu   { 0x15ad, "vmwgfx", vmwgfx_chip_ids, ARRAY_SIZE(vmwgfx_chip_ids) },
777f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke   { 0x0000, NULL, NULL, 0 },
787f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke};
797f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke
807f881c43dfb4f1aeeab3a84125b5c106c191a43fBenjamin Franzke#endif /* _PCI_ID_DRIVER_MAP_H_ */
81