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