i965: Use drmIoctl for DRM_I915_GETPARAM (v2)
authorChad Versace <chad.versace@intel.com>
Mon, 27 Jun 2016 18:33:36 +0000 (11:33 -0700)
committerChad Versace <chad.versace@intel.com>
Wed, 29 Jun 2016 20:44:23 +0000 (13:44 -0700)
Stop using drmCommandWriteRead for such a simple ioctl.

v2: Handle errno correctly. [ickle]

Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
src/mesa/drivers/dri/i965/intel_screen.c

index f724a56dbd2c79050e328c518da3417fd5ee1e3f..1c71e09e7ad1273686325362476e60ddf26578c7 100644 (file)
@@ -972,17 +972,18 @@ static const __DRIextension *intelRobustScreenExtensions[] = {
 static int
 intel_get_param(struct intel_screen *screen, int param, int *value)
 {
-   int ret;
+   int ret = 0;
    struct drm_i915_getparam gp;
 
    memset(&gp, 0, sizeof(gp));
    gp.param = param;
    gp.value = value;
 
-   ret = drmCommandWriteRead(screen->driScrnPriv->fd,
-                             DRM_I915_GETPARAM, &gp, sizeof(gp));
-   if (ret < 0 && ret != -EINVAL)
-        _mesa_warning(NULL, "drm_i915_getparam: %d", ret);
+   if (drmIoctl(screen->driScrnPriv->fd, DRM_IOCTL_I915_GETPARAM, &gp) == -1) {
+      ret = -errno;
+      if (ret != -EINVAL)
+         _mesa_warning(NULL, "drm_i915_getparam: %d", ret);
+   }
 
    return ret;
 }