summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/drmtest.c3
-rw-r--r--lib/intel_chipset.c14
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;
}
/**