diff options
Diffstat (limited to 'lib/intel_chipset.c')
-rw-r--r-- | lib/intel_chipset.c | 14 |
1 files changed, 9 insertions, 5 deletions
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; } /** |