#include <stdbool.h>
#include <stdint.h>
#include <sys/mman.h>
+#include <errno.h>
#include <xf86drm.h>
* This macro wraps drmIoctl() and uses igt_assert to check that it has been
* successfully executed.
*/
-#define do_ioctl(fd, ioc, ioc_data) igt_assert(drmIoctl((fd), (ioc), (ioc_data)) == 0)
+#define do_ioctl(fd, ioc, ioc_data) do { \
+ igt_assert(drmIoctl((fd), (ioc), (ioc_data)) == 0); \
+ errno = 0; \
+} while (0)
#endif /* DRMTEST_H */
flink.handle = handle;
ret = ioctl(fd, DRM_IOCTL_GEM_FLINK, &flink);
igt_assert(ret == 0);
+ errno = 0;
bo = drm_intel_bo_gem_create_from_name(bufmgr, name, flink.name);
igt_assert(bo);
if (ret != 0)
return -errno;
+ errno = 0;
igt_assert(st.tiling_mode == tiling);
return 0;
}
igt_assert(ret == 0 || (errno == ENOTTY || errno == EINVAL));
igt_require(ret == 0);
+ errno = 0;
}
/**
arg.caching = 0;
ret = ioctl(fd, LOCAL_DRM_IOCTL_I915_GEM_GET_CACHEING, &arg);
igt_assert(ret == 0);
+ errno = 0;
return arg.caching;
}
ret = ioctl(fd, DRM_IOCTL_GEM_OPEN, &open_struct);
igt_assert(ret == 0);
igt_assert(open_struct.handle != 0);
+ errno = 0;
return open_struct.handle;
}
flink.handle = handle;
ret = ioctl(fd, DRM_IOCTL_GEM_FLINK, &flink);
igt_assert(ret == 0);
+ errno = 0;
return flink.name;
}
if (ret < 0)
return 0;
- else
- return create.handle;
+
+ errno = 0;
+ return create.handle;
}
/**
DRM_IOCTL_I915_GEM_EXECBUFFER2,
execbuf);
igt_assert(ret == 0);
+ errno = 0;
}
/**
if (drmIoctl(fd, DRM_IOCTL_I915_GEM_MMAP, &mmap_arg))
return NULL;
+ errno = 0;
return (void *)(uintptr_t)mmap_arg.addr_ptr;
}
ret = drmIoctl(fd, DRM_IOCTL_I915_GEM_CONTEXT_CREATE, &create);
igt_require(ret == 0 || (errno != ENODEV && errno != EINVAL));
igt_assert(ret == 0);
+ errno = 0;
return create.ctx_id;
}
if (ioctl(fd, DRM_IOCTL_I915_GETPARAM, &gp, sizeof(gp)))
return 0;
+ errno = 0;
return val;
}
if (ioctl(fd, DRM_IOCTL_I915_GETPARAM, &gp, sizeof(gp)))
return 0;
+ errno = 0;
return val;
}
gp.value = &tmp;
gp.param = param;
- ret = drmIoctl(fd, DRM_IOCTL_I915_GETPARAM, &gp);
-
- if ((ret == 0) && (*gp.value > 0))
- return true;
- else
+ if (drmIoctl(fd, DRM_IOCTL_I915_GETPARAM, &gp))
return false;
+
+ errno = 0;
+ return tmp > 0;
}
/**
*/
bool gem_has_bsd(int fd)
{
-
return gem_has_enable_ring(fd,I915_PARAM_HAS_BSD);
}
gem_close(fd, arg.handle);
igt_require(ret == 0);
+ errno = 0;
}
/**
ret = lseek(dma_buf_fd, 0, SEEK_END);
igt_assert(ret >= 0 || errno == ESPIPE);
igt_require(ret >= 0);
+ errno = 0;
return ret;
}