Home | History | Annotate | Download | only in pci_ids
      1 #ifndef _PCI_ID_DRIVER_MAP_H_
      2 #define _PCI_ID_DRIVER_MAP_H_
      3 
      4 #include <stddef.h>
      5 
      6 #ifndef ARRAY_SIZE
      7 #define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))
      8 #endif
      9 
     10 #if !defined(DRIVER_MAP_DRI2_ONLY) && !defined(DRIVER_MAP_GALLIUM_ONLY)
     11 static const int i810_chip_ids[] = {
     12 #define CHIPSET(chip, desc, misc) chip,
     13 #include "pci_ids/i810_pci_ids.h"
     14 #undef CHIPSET
     15 };
     16 #endif
     17 
     18 static const int i915_chip_ids[] = {
     19 #define CHIPSET(chip, desc, misc) chip,
     20 #include "pci_ids/i915_pci_ids.h"
     21 #undef CHIPSET
     22 };
     23 
     24 static const int i965_chip_ids[] = {
     25 #define CHIPSET(chip, desc, misc) chip,
     26 #include "pci_ids/i965_pci_ids.h"
     27 #undef CHIPSET
     28 };
     29 
     30 #ifndef DRIVER_MAP_GALLIUM_ONLY
     31 static const int r100_chip_ids[] = {
     32 #define CHIPSET(chip, name, family) chip,
     33 #include "pci_ids/radeon_pci_ids.h"
     34 #undef CHIPSET
     35 };
     36 
     37 static const int r200_chip_ids[] = {
     38 #define CHIPSET(chip, name, family) chip,
     39 #include "pci_ids/r200_pci_ids.h"
     40 #undef CHIPSET
     41 };
     42 #endif
     43 
     44 static const int r300_chip_ids[] = {
     45 #define CHIPSET(chip, name, family) chip,
     46 #include "pci_ids/r300_pci_ids.h"
     47 #undef CHIPSET
     48 };
     49 
     50 static const int r600_chip_ids[] = {
     51 #define CHIPSET(chip, name, family) chip,
     52 #include "pci_ids/r600_pci_ids.h"
     53 #undef CHIPSET
     54 };
     55 
     56 static const int vmwgfx_chip_ids[] = {
     57 #define CHIPSET(chip, name, family) chip,
     58 #include "pci_ids/vmwgfx_pci_ids.h"
     59 #undef CHIPSET
     60 };
     61 
     62 static const struct {
     63    int vendor_id;
     64    const char *driver;
     65    const int *chip_ids;
     66    int num_chips_ids;
     67 } driver_map[] = {
     68 #if !defined(DRIVER_MAP_DRI2_ONLY) && !defined(DRIVER_MAP_GALLIUM_ONLY)
     69    { 0x8086, "i810", i810_chip_ids, ARRAY_SIZE(i810_chip_ids) },
     70 #endif
     71    { 0x8086, "i915", i915_chip_ids, ARRAY_SIZE(i915_chip_ids) },
     72    { 0x8086, "i965", i965_chip_ids, ARRAY_SIZE(i965_chip_ids) },
     73 #ifndef DRIVER_MAP_GALLIUM_ONLY
     74    { 0x1002, "radeon", r100_chip_ids, ARRAY_SIZE(r100_chip_ids) },
     75    { 0x1002, "r200", r200_chip_ids, ARRAY_SIZE(r200_chip_ids) },
     76 #endif
     77    { 0x1002, "r300", r300_chip_ids, ARRAY_SIZE(r300_chip_ids) },
     78    { 0x1002, "r600", r600_chip_ids, ARRAY_SIZE(r600_chip_ids) },
     79    { 0x10de, "nouveau", NULL, -1 },
     80    { 0x15ad, "vmwgfx", vmwgfx_chip_ids, ARRAY_SIZE(vmwgfx_chip_ids) },
     81    { 0x0000, NULL, NULL, 0 },
     82 };
     83 
     84 #endif /* _PCI_ID_DRIVER_MAP_H_ */
     85