mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-22 11:20:11 +01:00
Putting the human readable device names directly in the PCI ID list consolidates things in one place. It also makes it easy to customize the name on a per-PCI ID basis without a huge code explosion. Based on a patch by Kristian Høgsberg. v2: Fix 830M/845G names and #undef CHIPSET (caught by Emit Velikov). Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net>
80 lines
2 KiB
C
80 lines
2 KiB
C
#ifndef _PCI_ID_DRIVER_MAP_H_
|
|
#define _PCI_ID_DRIVER_MAP_H_
|
|
|
|
#include <stddef.h>
|
|
|
|
#ifndef ARRAY_SIZE
|
|
#define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))
|
|
#endif
|
|
|
|
static const int i915_chip_ids[] = {
|
|
#define CHIPSET(chip, desc, name) chip,
|
|
#include "pci_ids/i915_pci_ids.h"
|
|
#undef CHIPSET
|
|
};
|
|
|
|
static const int i965_chip_ids[] = {
|
|
#define CHIPSET(chip, desc, name) chip,
|
|
#include "pci_ids/i965_pci_ids.h"
|
|
#undef CHIPSET
|
|
};
|
|
|
|
#ifndef DRIVER_MAP_GALLIUM_ONLY
|
|
static const int r100_chip_ids[] = {
|
|
#define CHIPSET(chip, name, family) chip,
|
|
#include "pci_ids/radeon_pci_ids.h"
|
|
#undef CHIPSET
|
|
};
|
|
|
|
static const int r200_chip_ids[] = {
|
|
#define CHIPSET(chip, name, family) chip,
|
|
#include "pci_ids/r200_pci_ids.h"
|
|
#undef CHIPSET
|
|
};
|
|
#endif
|
|
|
|
static const int r300_chip_ids[] = {
|
|
#define CHIPSET(chip, name, family) chip,
|
|
#include "pci_ids/r300_pci_ids.h"
|
|
#undef CHIPSET
|
|
};
|
|
|
|
static const int r600_chip_ids[] = {
|
|
#define CHIPSET(chip, name, family) chip,
|
|
#include "pci_ids/r600_pci_ids.h"
|
|
#undef CHIPSET
|
|
};
|
|
|
|
static const int radeonsi_chip_ids[] = {
|
|
#define CHIPSET(chip, name, family) chip,
|
|
#include "pci_ids/radeonsi_pci_ids.h"
|
|
#undef CHIPSET
|
|
};
|
|
|
|
static const int vmwgfx_chip_ids[] = {
|
|
#define CHIPSET(chip, name, family) chip,
|
|
#include "pci_ids/vmwgfx_pci_ids.h"
|
|
#undef CHIPSET
|
|
};
|
|
|
|
static const struct {
|
|
int vendor_id;
|
|
const char *driver;
|
|
const int *chip_ids;
|
|
int num_chips_ids;
|
|
} driver_map[] = {
|
|
{ 0x8086, "i915", i915_chip_ids, ARRAY_SIZE(i915_chip_ids) },
|
|
{ 0x8086, "i965", i965_chip_ids, ARRAY_SIZE(i965_chip_ids) },
|
|
#ifndef DRIVER_MAP_GALLIUM_ONLY
|
|
{ 0x1002, "radeon", r100_chip_ids, ARRAY_SIZE(r100_chip_ids) },
|
|
{ 0x1002, "r200", r200_chip_ids, ARRAY_SIZE(r200_chip_ids) },
|
|
#endif
|
|
{ 0x1002, "r300", r300_chip_ids, ARRAY_SIZE(r300_chip_ids) },
|
|
{ 0x1002, "r600", r600_chip_ids, ARRAY_SIZE(r600_chip_ids) },
|
|
{ 0x1002, "radeonsi", radeonsi_chip_ids, ARRAY_SIZE(radeonsi_chip_ids) },
|
|
{ 0x10de, "nouveau", NULL, -1 },
|
|
{ 0x15ad, "vmwgfx", vmwgfx_chip_ids, ARRAY_SIZE(vmwgfx_chip_ids) },
|
|
{ 0x0000, NULL, NULL, 0 },
|
|
};
|
|
|
|
#endif /* _PCI_ID_DRIVER_MAP_H_ */
|