diff options
Diffstat (limited to 'tools/intel_gem_info.c')
-rw-r--r-- | tools/intel_gem_info.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tools/intel_gem_info.c b/tools/intel_gem_info.c new file mode 100644 index 00000000..75444438 --- /dev/null +++ b/tools/intel_gem_info.c @@ -0,0 +1,35 @@ +#include "igt.h" +#include <sys/ioctl.h> +#include <fcntl.h> +#include <errno.h> +#include <string.h> +#include <signal.h> +#include <i915_drm.h> + + +int main(void) +{ + struct drm_i915_gem_sw_finish arg = { 0 }; + int fd; + + signal(SIGALRM, SIG_IGN); + + fd = __drm_open_driver(DRIVER_INTEL); + if (fd < 0) + return IGT_EXIT_SKIP; + + alarm(1); + if (ioctl(fd, DRM_IOCTL_I915_GEM_SW_FINISH, &arg) == 0) + return IGT_EXIT_SKIP; + + switch (errno) { + case ENOENT: + return 0; + case EIO: + return 1; + case EINTR: + return 2; + default: + return 3; + } +} |