i965: Use drmIoctl for DRM_I915_GETPARAM (v2)

Stop using drmCommandWriteRead for such a simple ioctl.

v2: Handle errno correctly. [ickle]

Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chad Versace 2016-06-27 11:33:36 -07:00
parent b928ff6f62
commit d3a147ba40
1 changed files with 6 additions and 5 deletions

View 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;
}