Blame nouveau/nvif/ioctl.h

Packit Service 103f6b
#ifndef __NVIF_IOCTL_H__
Packit Service 103f6b
#define __NVIF_IOCTL_H__
Packit Service 103f6b
Packit Service 103f6b
#define NVIF_VERSION_LATEST                               0x0000000000000000ULL
Packit Service 103f6b
Packit Service 103f6b
struct nvif_ioctl_v0 {
Packit Service 103f6b
	__u8  version;
Packit Service 103f6b
#define NVIF_IOCTL_V0_NOP                                                  0x00
Packit Service 103f6b
#define NVIF_IOCTL_V0_SCLASS                                               0x01
Packit Service 103f6b
#define NVIF_IOCTL_V0_NEW                                                  0x02
Packit Service 103f6b
#define NVIF_IOCTL_V0_DEL                                                  0x03
Packit Service 103f6b
#define NVIF_IOCTL_V0_MTHD                                                 0x04
Packit Service 103f6b
#define NVIF_IOCTL_V0_RD                                                   0x05
Packit Service 103f6b
#define NVIF_IOCTL_V0_WR                                                   0x06
Packit Service 103f6b
#define NVIF_IOCTL_V0_MAP                                                  0x07
Packit Service 103f6b
#define NVIF_IOCTL_V0_UNMAP                                                0x08
Packit Service 103f6b
#define NVIF_IOCTL_V0_NTFY_NEW                                             0x09
Packit Service 103f6b
#define NVIF_IOCTL_V0_NTFY_DEL                                             0x0a
Packit Service 103f6b
#define NVIF_IOCTL_V0_NTFY_GET                                             0x0b
Packit Service 103f6b
#define NVIF_IOCTL_V0_NTFY_PUT                                             0x0c
Packit Service 103f6b
	__u8  type;
Packit Service 103f6b
	__u8  pad02[4];
Packit Service 103f6b
#define NVIF_IOCTL_V0_OWNER_NVIF                                           0x00
Packit Service 103f6b
#define NVIF_IOCTL_V0_OWNER_ANY                                            0xff
Packit Service 103f6b
	__u8  owner;
Packit Service 103f6b
#define NVIF_IOCTL_V0_ROUTE_NVIF                                           0x00
Packit Service 103f6b
#define NVIF_IOCTL_V0_ROUTE_HIDDEN                                         0xff
Packit Service 103f6b
	__u8  route;
Packit Service 103f6b
	__u64 token;
Packit Service 103f6b
	__u64 object;
Packit Service 103f6b
	__u8  data[];		/* ioctl data (below) */
Packit Service 103f6b
};
Packit Service 103f6b
Packit Service 103f6b
struct nvif_ioctl_nop_v0 {
Packit Service 103f6b
	__u64 version;
Packit Service 103f6b
};
Packit Service 103f6b
Packit Service 103f6b
struct nvif_ioctl_sclass_v0 {
Packit Service 103f6b
	/* nvif_ioctl ... */
Packit Service 103f6b
	__u8  version;
Packit Service 103f6b
	__u8  count;
Packit Service 103f6b
	__u8  pad02[6];
Packit Service 103f6b
	struct nvif_ioctl_sclass_oclass_v0 {
Packit Service 103f6b
		__s32 oclass;
Packit Service 103f6b
		__s16 minver;
Packit Service 103f6b
		__s16 maxver;
Packit Service 103f6b
	} oclass[];
Packit Service 103f6b
};
Packit Service 103f6b
Packit Service 103f6b
struct nvif_ioctl_new_v0 {
Packit Service 103f6b
	/* nvif_ioctl ... */
Packit Service 103f6b
	__u8  version;
Packit Service 103f6b
	__u8  pad01[6];
Packit Service 103f6b
	__u8  route;
Packit Service 103f6b
	__u64 token;
Packit Service 103f6b
	__u64 object;
Packit Service 103f6b
	__u32 handle;
Packit Service 103f6b
	__s32 oclass;
Packit Service 103f6b
	__u8  data[];		/* class data (class.h) */
Packit Service 103f6b
};
Packit Service 103f6b
Packit Service 103f6b
struct nvif_ioctl_del {
Packit Service 103f6b
};
Packit Service 103f6b
Packit Service 103f6b
struct nvif_ioctl_rd_v0 {
Packit Service 103f6b
	/* nvif_ioctl ... */
Packit Service 103f6b
	__u8  version;
Packit Service 103f6b
	__u8  size;
Packit Service 103f6b
	__u8  pad02[2];
Packit Service 103f6b
	__u32 data;
Packit Service 103f6b
	__u64 addr;
Packit Service 103f6b
};
Packit Service 103f6b
Packit Service 103f6b
struct nvif_ioctl_wr_v0 {
Packit Service 103f6b
	/* nvif_ioctl ... */
Packit Service 103f6b
	__u8  version;
Packit Service 103f6b
	__u8  size;
Packit Service 103f6b
	__u8  pad02[2];
Packit Service 103f6b
	__u32 data;
Packit Service 103f6b
	__u64 addr;
Packit Service 103f6b
};
Packit Service 103f6b
Packit Service 103f6b
struct nvif_ioctl_map_v0 {
Packit Service 103f6b
	/* nvif_ioctl ... */
Packit Service 103f6b
	__u8  version;
Packit Service 103f6b
	__u8  pad01[3];
Packit Service 103f6b
	__u32 length;
Packit Service 103f6b
	__u64 handle;
Packit Service 103f6b
};
Packit Service 103f6b
Packit Service 103f6b
struct nvif_ioctl_unmap {
Packit Service 103f6b
};
Packit Service 103f6b
Packit Service 103f6b
struct nvif_ioctl_ntfy_new_v0 {
Packit Service 103f6b
	/* nvif_ioctl ... */
Packit Service 103f6b
	__u8  version;
Packit Service 103f6b
	__u8  event;
Packit Service 103f6b
	__u8  index;
Packit Service 103f6b
	__u8  pad03[5];
Packit Service 103f6b
	__u8  data[];		/* event request data (event.h) */
Packit Service 103f6b
};
Packit Service 103f6b
Packit Service 103f6b
struct nvif_ioctl_ntfy_del_v0 {
Packit Service 103f6b
	/* nvif_ioctl ... */
Packit Service 103f6b
	__u8  version;
Packit Service 103f6b
	__u8  index;
Packit Service 103f6b
	__u8  pad02[6];
Packit Service 103f6b
};
Packit Service 103f6b
Packit Service 103f6b
struct nvif_ioctl_ntfy_get_v0 {
Packit Service 103f6b
	/* nvif_ioctl ... */
Packit Service 103f6b
	__u8  version;
Packit Service 103f6b
	__u8  index;
Packit Service 103f6b
	__u8  pad02[6];
Packit Service 103f6b
};
Packit Service 103f6b
Packit Service 103f6b
struct nvif_ioctl_ntfy_put_v0 {
Packit Service 103f6b
	/* nvif_ioctl ... */
Packit Service 103f6b
	__u8  version;
Packit Service 103f6b
	__u8  index;
Packit Service 103f6b
	__u8  pad02[6];
Packit Service 103f6b
};
Packit Service 103f6b
Packit Service 103f6b
struct nvif_ioctl_mthd_v0 {
Packit Service 103f6b
	/* nvif_ioctl ... */
Packit Service 103f6b
	__u8  version;
Packit Service 103f6b
	__u8  method;
Packit Service 103f6b
	__u8  pad02[6];
Packit Service 103f6b
	__u8  data[];		/* method data (class.h) */
Packit Service 103f6b
};
Packit Service 103f6b
Packit Service 103f6b
#endif