diff options
-rw-r--r-- | lib/drmtest.c | 3 | ||||
-rw-r--r-- | lib/intel_chipset.c | 14 |
2 files changed, 9 insertions, 8 deletions
diff --git a/lib/drmtest.c b/lib/drmtest.c index fae6f86f..ecb535f5 100644 --- a/lib/drmtest.c +++ b/lib/drmtest.c @@ -75,8 +75,6 @@ * and [batchbuffer](igt-gpu-tools-intel-batchbuffer.html) libraries as dependencies. */ -uint16_t __drm_device_id; - static int __get_drm_device_name(int fd, char *name) { drm_version_t version; @@ -142,7 +140,6 @@ static bool has_known_intel_chipset(int fd) if (!intel_gen(devid)) return false; - __drm_device_id = devid; return true; } diff --git a/lib/intel_chipset.c b/lib/intel_chipset.c index ab35fa70..4748a3fb 100644 --- a/lib/intel_chipset.c +++ b/lib/intel_chipset.c @@ -112,8 +112,6 @@ intel_get_pci_device(void) return pci_dev; } -extern uint16_t __drm_device_id; - /** * intel_get_drm_devid: * @fd: open i915 drm file descriptor @@ -127,16 +125,22 @@ extern uint16_t __drm_device_id; uint32_t intel_get_drm_devid(int fd) { + struct drm_i915_getparam gp; const char *override; + int devid = 0; igt_assert(is_i915_device(fd)); - igt_assert(__drm_device_id); override = getenv("INTEL_DEVID_OVERRIDE"); if (override) return strtol(override, NULL, 0); - else - return __drm_device_id; + + memset(&gp, 0, sizeof(gp)); + gp.param = I915_PARAM_CHIPSET_ID; + gp.value = &devid; + ioctl(fd, DRM_IOCTL_I915_GETPARAM, &gp, sizeof(gp)); + + return devid; } /** |