summaryrefslogtreecommitdiff
path: root/lib/ioctl_wrappers.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ioctl_wrappers.c')
-rw-r--r--lib/ioctl_wrappers.c33
1 files changed, 21 insertions, 12 deletions
diff --git a/lib/ioctl_wrappers.c b/lib/ioctl_wrappers.c
index 32cb0f36..4d30443f 100644
--- a/lib/ioctl_wrappers.c
+++ b/lib/ioctl_wrappers.c
@@ -403,29 +403,38 @@ void gem_read(int fd, uint32_t handle, uint64_t offset, void *buf, uint64_t leng
igt_assert_eq(__gem_read(fd, handle, offset, buf, length), 0);
}
+int __gem_set_domain(int fd, uint32_t handle, uint32_t read, uint32_t write)
+{
+ struct drm_i915_gem_set_domain set_domain;
+ int err;
+
+ memset(&set_domain, 0, sizeof(set_domain));
+ set_domain.handle = handle;
+ set_domain.read_domains = read;
+ set_domain.write_domain = write;
+
+ err = 0;
+ if (igt_ioctl(fd, DRM_IOCTL_I915_GEM_SET_DOMAIN, &set_domain))
+ err = -errno;
+
+ return err;
+}
+
/**
* gem_set_domain:
* @fd: open i915 drm file descriptor
* @handle: gem buffer object handle
- * @read_domains: gem domain bits for read access
- * @write_domain: gem domain bit for write access
+ * @read: gem domain bits for read access
+ * @write: gem domain bit for write access
*
* This wraps the SET_DOMAIN ioctl, which is used to control the coherency of
* the gem buffer object between the cpu and gtt mappings. It is also use to
* synchronize with outstanding rendering in general, but for that use-case
* please have a look at gem_sync().
*/
-void gem_set_domain(int fd, uint32_t handle,
- uint32_t read_domains, uint32_t write_domain)
+void gem_set_domain(int fd, uint32_t handle, uint32_t read, uint32_t write)
{
- struct drm_i915_gem_set_domain set_domain;
-
- memset(&set_domain, 0, sizeof(set_domain));
- set_domain.handle = handle;
- set_domain.read_domains = read_domains;
- set_domain.write_domain = write_domain;
-
- do_ioctl(fd, DRM_IOCTL_I915_GEM_SET_DOMAIN, &set_domain);
+ igt_assert_eq(__gem_set_domain(fd, handle, read, write), 0);
}
/**