Re: [igt-dev] [PATCH i-g-t 03/17] Update IOCTL wrapper with DRM_IOCTL_I915_GEM_CONTEXT_CREATE_EXT
From: Rodrigo Vivi <rodrigo.vivi@intel.com>
Date: 2021-06-02 20:10:14
On Tue, May 18, 2021 at 03:33:30AM -0700, Alan Previn wrote:
Update IOCTL wrapper with DRM_IOCTL_I915_GEM_CONTEXT_CREATE_EXT
assuming nothing will change there Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
quoted hunk ↗ jump to hunk
Signed-off-by: Alan Previn <redacted> --- lib/ioctl_wrappers.c | 34 ++++++++++++++++++++++++++++++++++ lib/ioctl_wrappers.h | 2 ++ 2 files changed, 36 insertions(+)diff --git a/lib/ioctl_wrappers.c b/lib/ioctl_wrappers.c index 4440004c..c8e01911 100644 --- a/lib/ioctl_wrappers.c +++ b/lib/ioctl_wrappers.c@@ -657,6 +657,40 @@ void gem_execbuf_wr(int fd, struct drm_i915_gem_execbuffer2 *execbuf) igt_assert_eq(__gem_execbuf_wr(fd, execbuf), 0); } +/** + * __gem_ctx_create_ext: + * @fd: open i915 drm file descriptor + * @ctx_ext: context_create_ext data structure + * + * This wraps the GEM_CONTEXT_CREATE_EXT ioctl, which allocates gem context based on + * additional drm_i915_gem_context_create_ext_setparam input extensions. This is + * allowed to fail, with -errno returned + */ +int __gem_ctx_create_ext(int fd, struct drm_i915_gem_context_create_ext *ctx_ext) +{ + int err = 0; + + if (igt_ioctl(fd, DRM_IOCTL_I915_GEM_CONTEXT_CREATE_EXT, ctx_ext)) { + err = -errno; + igt_assume(err != 0); + } + errno = 0; + return err; +} + +/** + * gem_ctx_create_ext: + * @fd: open i915 drm file descriptor + * @ctx_ext: context_create_ext data structure + * + * This wraps the GEM_CONTEXT_CREATE_EXT ioctl, which allocates gem context based on + * additional drm_i915_gem_context_create_ext_setparam input extensions. + */ +void gem_ctx_create_ext(int fd, struct drm_i915_gem_context_create_ext *ctx_ext) +{ + igt_assert_eq(__gem_ctx_create_ext(fd, ctx_ext), 0); +} + /** * gem_madvise: * @fd: open i915 drm file descriptordiff --git a/lib/ioctl_wrappers.h b/lib/ioctl_wrappers.h index 9ea67365..8288c8d7 100644 --- a/lib/ioctl_wrappers.h +++ b/lib/ioctl_wrappers.h@@ -82,6 +82,8 @@ void gem_execbuf_wr(int fd, struct drm_i915_gem_execbuffer2 *execbuf); int __gem_execbuf_wr(int fd, struct drm_i915_gem_execbuffer2 *execbuf); void gem_execbuf(int fd, struct drm_i915_gem_execbuffer2 *execbuf); int __gem_execbuf(int fd, struct drm_i915_gem_execbuffer2 *execbuf); +int __gem_ctx_create_ext(int fd, struct drm_i915_gem_context_create_ext *ctx_ext); +void gem_ctx_create_ext(int fd, struct drm_i915_gem_context_create_ext *ctx_ext); #ifndef I915_GEM_DOMAIN_WC #define I915_GEM_DOMAIN_WC 0x80-- 2.25.1 _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev
_______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev