mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 00:58:05 +02:00
intel/common: Add gen_device_name_to_pci_device_id
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com> Reviewed-by: Scott D Phillips <scott.d.phillips@intel.com>
This commit is contained in:
parent
c2134f94c8
commit
8ff89250ff
2 changed files with 14 additions and 6 deletions
|
|
@ -30,8 +30,13 @@
|
|||
#include "compiler/shader_enums.h"
|
||||
#include "util/macros.h"
|
||||
|
||||
static int
|
||||
parse_devid_override(const char *devid_override)
|
||||
/**
|
||||
* Get the PCI ID for the device name.
|
||||
*
|
||||
* Returns -1 if the device is not known.
|
||||
*/
|
||||
int
|
||||
gen_device_name_to_pci_device_id(const char *name)
|
||||
{
|
||||
static const struct {
|
||||
const char *name;
|
||||
|
|
@ -54,11 +59,11 @@ parse_devid_override(const char *devid_override)
|
|||
};
|
||||
|
||||
for (unsigned i = 0; i < ARRAY_SIZE(name_map); i++) {
|
||||
if (!strcmp(name_map[i].name, devid_override))
|
||||
if (!strcmp(name_map[i].name, name))
|
||||
return name_map[i].pci_id;
|
||||
}
|
||||
|
||||
return strtol(devid_override, NULL, 0);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -72,8 +77,10 @@ gen_get_pci_device_id_override(void)
|
|||
{
|
||||
if (geteuid() == getuid()) {
|
||||
const char *devid_override = getenv("INTEL_DEVID_OVERRIDE");
|
||||
if (devid_override)
|
||||
return parse_devid_override(devid_override);
|
||||
if (devid_override) {
|
||||
const int id = gen_device_name_to_pci_device_id(devid_override);
|
||||
return id >= 0 ? id : strtol(devid_override, NULL, 0);
|
||||
}
|
||||
}
|
||||
|
||||
return -1;
|
||||
|
|
|
|||
|
|
@ -200,6 +200,7 @@ struct gen_device_info
|
|||
((devinfo)->is_broxton || (devinfo)->is_geminilake)
|
||||
|
||||
int gen_get_pci_device_id_override(void);
|
||||
int gen_device_name_to_pci_device_id(const char *name);
|
||||
bool gen_get_device_info(int devid, struct gen_device_info *devinfo);
|
||||
const char *gen_get_device_name(int devid);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue