diff options
author | Dave Airlie <airlied@gmail.com> | 2013-04-30 16:30:20 +1000 |
---|---|---|
committer | Dave Airlie <airlied@gmail.com> | 2013-04-30 16:30:20 +1000 |
commit | d73d17b0d23a9a7d2e91a7e2b7f958fdd4a6f99f (patch) | |
tree | 12247f8c2b5cd7cdba3d7b5686d2af806395cc3a | |
parent | 483996db72bf1f04b67bf794e1090a1d9e363f52 (diff) |
add flags to 3d wait
-rw-r--r-- | drivers/gpu/drm/qxl/qxl_ioctl.c | 5 | ||||
-rw-r--r-- | include/uapi/drm/qxl_drm.h | 3 |
2 files changed, 6 insertions, 2 deletions
diff --git a/drivers/gpu/drm/qxl/qxl_ioctl.c b/drivers/gpu/drm/qxl/qxl_ioctl.c index 7f7f388e3b6e..a48df30810c1 100644 --- a/drivers/gpu/drm/qxl/qxl_ioctl.c +++ b/drivers/gpu/drm/qxl/qxl_ioctl.c @@ -581,6 +581,7 @@ static int qxl_3d_wait_ioctl(struct drm_device *dev, void *data, struct drm_gem_object *gobj = NULL; struct qxl_bo *qobj = NULL; int ret; + bool wait = false; gobj = drm_gem_object_lookup(dev, file, args->handle); if (gobj == NULL) return -ENOENT; @@ -592,7 +593,9 @@ static int qxl_3d_wait_ioctl(struct drm_device *dev, void *data, goto out; } - ret = qxl_3d_wait(qobj, false); + if (args->flags & QXL_3D_WAIT_NOWAIT) + wait = true; + ret = qxl_3d_wait(qobj, wait); out: drm_gem_object_unreference_unlocked(gobj); return ret; diff --git a/include/uapi/drm/qxl_drm.h b/include/uapi/drm/qxl_drm.h index 0e806405c902..c256270526cb 100644 --- a/include/uapi/drm/qxl_drm.h +++ b/include/uapi/drm/qxl_drm.h @@ -186,9 +186,10 @@ struct drm_qxl_3d_transfer_get { uint32_t level; }; +#define QXL_3D_WAIT_NOWAIT 1 /* like it */ struct drm_qxl_3d_wait { uint32_t handle; /* 0 is an invalid handle */ - uint32_t pad; + uint32_t flags; }; #define DRM_IOCTL_QXL_ALLOC \ |