⬢ DragonFlyBSD Kernel Audit
DF-3699 / i915_uapi_min.h
← back to finding ↓ download raw
/* Minimal i915 uapi definitions (Linux-compatible, as exposed by DragonFly) */
#ifndef I915_UAPI_MIN_H
#define I915_UAPI_MIN_H

#include <stdint.h>
#define __u32 uint32_t
#define __u64 uint64_t
#define __s32 int32_t
#define __s64 int64_t
#define __user

#define DRM_IOCTL_BASE			'd'
#define DRM_IO(nr)		_IO(DRM_IOCTL_BASE,nr)
#define DRM_IOR(nr,type)	_IOR(DRM_IOCTL_BASE,nr,type)
#define DRM_IOW(nr,type)	_IOW(DRM_IOCTL_BASE,nr,type)
#define DRM_IOWR(nr,type)	_IOWR(DRM_IOCTL_BASE,nr,type)

#define DRM_I915_GETPARAM	0x06
#define DRM_I915_GEM_CONTEXT_CREATE 0x2d

struct drm_i915_getparam {
	__s32 param;
	int __user *value;
};
#define I915_PARAM_CHIPSET_ID   2

struct drm_i915_gem_context_create {
	__u32 ctx_id;
	__u32 pad;
};

struct drm_i915_gem_create {
	__u64 size;
	__u32 handle;
	__u32 pad;
};

struct drm_i915_gem_execbuffer2 {
	__u64 buffers_ptr;
	__u32 buffer_count;
	__u32 batch_start_offset;
	__u32 batch_len;
	__u32 DR1;
	__u32 DR4;
	__u32 num_cliprects;
	__u64 cliprects_ptr;
	__u64 flags;
	__u64 rsvd1;
	__u64 rsvd2;
};
struct drm_i915_gem_wait {
	__u32 bo_handle;
	__u32 flags;
	__s64 timeout_ns;
};

#define DRM_IOCTL_I915_GETPARAM		DRM_IOWR(DRM_I915_GETPARAM, struct drm_i915_getparam)
#define DRM_IOCTL_I915_GEM_CONTEXT_CREATE DRM_IOWR(DRM_I915_GEM_CONTEXT_CREATE, struct drm_i915_gem_context_create)
#define DRM_IOCTL_I915_GEM_CREATE	DRM_IOWR(0x0b, struct drm_i915_gem_create)
#define DRM_IOCTL_I915_GEM_EXECBUFFER2_WR	DRM_IOWR(0x3e, struct drm_i915_gem_execbuffer2)
#define DRM_IOCTL_I915_GEM_WAIT		DRM_IOWR(0x2c, struct drm_i915_gem_wait)

#endif