From: Kristian Høgsberg Date: Wed, 9 Jan 2008 23:04:19 +0000 (-0500) Subject: Factor out code to do the DRM_I830_GETPARAM ioctl. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=24e7e457680d700e986fd0b0e0f046fadf67caf4;p=mesa.git Factor out code to do the DRM_I830_GETPARAM ioctl. --- diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c index cd72a4b1223..abeb0f9b9f0 100644 --- a/src/mesa/drivers/dri/intel/intel_screen.c +++ b/src/mesa/drivers/dri/intel/intel_screen.c @@ -295,6 +295,23 @@ static const __DRIextension *intelExtensions[] = { NULL }; +static GLboolean +intel_get_param(__DRIscreenPrivate *psp, int param, int *value) +{ + int ret; + drmI830GetParam gp; + + gp.param = param; + gp.value = value; + + ret = drmCommandWriteRead(psp->fd, DRM_I830_GETPARAM, &gp, sizeof(gp)); + if (ret) { + fprintf(stderr, "drmI830GetParam: %d\n", ret); + return GL_FALSE; + } + + return GL_TRUE; +} static GLboolean intelInitDriver(__DRIscreenPrivate *sPriv) { @@ -358,36 +375,14 @@ static GLboolean intelInitDriver(__DRIscreenPrivate *sPriv) intelScreen->drmMinor = sPriv->drm_version.minor; /* Determine if IRQs are active? */ - { - int ret; - drmI830GetParam gp; - - gp.param = I830_PARAM_IRQ_ACTIVE; - gp.value = &intelScreen->irq_active; - - ret = drmCommandWriteRead(sPriv->fd, DRM_I830_GETPARAM, - &gp, sizeof(gp)); - if (ret) { - fprintf(stderr, "drmI830GetParam: %d\n", ret); - return GL_FALSE; - } - } + if (!intel_get_param(sPriv, I830_PARAM_IRQ_ACTIVE, + &intelScreen->irq_active)) + return GL_FALSE; /* Determine if batchbuffers are allowed */ - { - int ret; - drmI830GetParam gp; - - gp.param = I830_PARAM_ALLOW_BATCHBUFFER; - gp.value = &intelScreen->allow_batchbuffer; - - ret = drmCommandWriteRead(sPriv->fd, DRM_I830_GETPARAM, - &gp, sizeof(gp)); - if (ret) { - fprintf(stderr, "drmI830GetParam: (%d) %d\n", gp.param, ret); - return GL_FALSE; - } - } + if (!intel_get_param(sPriv, I830_PARAM_ALLOW_BATCHBUFFER, + &intelScreen->allow_batchbuffer)) + return GL_FALSE; sPriv->extensions = intelExtensions;