OSDN Git Service

Use libdrm to get device id
authorZhenyu Wang <zhenyuw@linux.intel.com>
Fri, 26 Dec 2014 07:04:11 +0000 (00:04 -0700)
committerZhao, Yakui <yakui.zhao@intel.com>
Mon, 29 Dec 2014 01:08:29 +0000 (09:08 +0800)
Instead of call ioctl by ourself, use libdrm interface to get device id.
This not only saves one ioctl call as is done when gem bufmgr init. It
also allows to use libdrm's device id override helper envionment "INTEL_DEVID_OVERRIDE".

If you override device id combined with aub dump enable, you can get aub
file to debug it under emulator for any device that you might not have real
HW metal.

Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
Reviewed-by: Zhao Yakui <yakui.zhao@intel.com>
(cherry picked from commit 1879d37119ef65aaf0fbb63c7f5a60390ae64f27)

src/intel_driver.c

index 2e6fae3..96c1994 100644 (file)
@@ -110,7 +110,8 @@ intel_driver_init(VADriverContextP ctx)
     intel->locked = 0;
     pthread_mutex_init(&intel->ctxmutex, NULL);
 
-    intel_driver_get_param(intel, I915_PARAM_CHIPSET_ID, &intel->device_id);
+    intel_memman_init(intel);
+    intel->device_id = drm_intel_bufmgr_gem_get_devid(intel->bufmgr);
     intel->device_info = i965_get_device_info(intel->device_id);
 
     if (!intel->device_info)
@@ -130,7 +131,6 @@ intel_driver_init(VADriverContextP ctx)
         intel->has_bsd2 = !!ret_value;
 
     intel_driver_get_revid(intel, &intel->revision);
-    intel_memman_init(intel);
     return true;
 }