summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhenyu Wang <zhenyuw@linux.intel.com>2014-12-25 16:22:42 +0800
committerZhigang Gong <zhigang.gong@intel.com>2015-01-09 14:21:48 +0800
commitdff4adcf6821a0e38a1c5d0285391b1b869208fe (patch)
treecc0688ed1265b40174005b320fd1f9d0a1477c06
parent6f5d23fefb01f7e5109e8c20a6929063059932a7 (diff)
Use libdrm interface to get device id
Remove own ioctl call for device id but use libdrm interface instead. This not only saves one extra ioctl call as it's already been read when gem bufmgr inits, and also would allow to override device id with libdrm helper environment 'INTEL_DEVID_OVERRIDE'. To combine with aub dump, you can do device debugging with fulsim emulator by choosing any device you want and don't need hw metal at all. Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>
-rw-r--r--src/intel/intel_driver.c21
-rw-r--r--src/intel/intel_driver.h3
2 files changed, 2 insertions, 22 deletions
diff --git a/src/intel/intel_driver.c b/src/intel/intel_driver.c
index 4ed1e251..21546d98 100644
--- a/src/intel/intel_driver.c
+++ b/src/intel/intel_driver.c
@@ -130,6 +130,7 @@ intel_driver_memman_init(intel_driver_t *driver)
driver->bufmgr = drm_intel_bufmgr_gem_init(driver->fd, BATCH_SIZE);
assert(driver->bufmgr);
drm_intel_bufmgr_gem_enable_reuse(driver->bufmgr);
+ driver->device_id = drm_intel_bufmgr_gem_get_devid(driver->bufmgr);
intel_driver_aub_dump(driver);
}
@@ -154,11 +155,7 @@ intel_driver_init(intel_driver_t *driver, int dev_fd)
driver->fd = dev_fd;
driver->locked = 0;
pthread_mutex_init(&driver->ctxmutex, NULL);
-#ifndef NDEBUG
- int res =
-#endif /* NDEBUG */
- intel_driver_get_param(driver, I915_PARAM_CHIPSET_ID, &driver->device_id);
- assert(res);
+
intel_driver_memman_init(driver);
intel_driver_context_init(driver);
@@ -266,20 +263,6 @@ intel_driver_close(intel_driver_t *intel)
}
LOCAL int
-intel_driver_get_param(intel_driver_t *driver, int param, int *value)
-{
- int ret;
- struct drm_i915_getparam gp;
-
- memset(&gp, 0, sizeof(struct drm_i915_getparam));
- gp.param = param;
- gp.value = value;
-
- ret = drmCommandWriteRead(driver->fd, DRM_I915_GETPARAM, &gp, sizeof(gp));
- return ret == 0;
-}
-
-LOCAL int
intel_driver_is_active(intel_driver_t *driver) {
return driver->fd >= 0;
}
diff --git a/src/intel/intel_driver.h b/src/intel/intel_driver.h
index 61653dbb..513d4ab1 100644
--- a/src/intel/intel_driver.h
+++ b/src/intel/intel_driver.h
@@ -143,9 +143,6 @@ extern int intel_driver_terminate(intel_driver_t*);
/* simple check if driver was initialized (checking fd should suffice) */
extern int intel_driver_is_active(intel_driver_t*);
-/* query device parameters using driver ioctl */
-extern int intel_driver_get_param(intel_driver_t*, int param, int *value);
-
/* init the call backs used by the ocl driver */
extern void intel_setup_callbacks(void);