1 #ifndef __NVIF_IOCTL_H__
2 #define __NVIF_IOCTL_H__
4 #define NVIF_VERSION_LATEST 0x0000000000000000ULL
8 #define NVIF_IOCTL_V0_NOP 0x00
9 #define NVIF_IOCTL_V0_SCLASS 0x01
10 #define NVIF_IOCTL_V0_NEW 0x02
11 #define NVIF_IOCTL_V0_DEL 0x03
12 #define NVIF_IOCTL_V0_MTHD 0x04
13 #define NVIF_IOCTL_V0_RD 0x05
14 #define NVIF_IOCTL_V0_WR 0x06
15 #define NVIF_IOCTL_V0_MAP 0x07
16 #define NVIF_IOCTL_V0_UNMAP 0x08
17 #define NVIF_IOCTL_V0_NTFY_NEW 0x09
18 #define NVIF_IOCTL_V0_NTFY_DEL 0x0a
19 #define NVIF_IOCTL_V0_NTFY_GET 0x0b
20 #define NVIF_IOCTL_V0_NTFY_PUT 0x0c
23 #define NVIF_IOCTL_V0_OWNER_NVIF 0x00
24 #define NVIF_IOCTL_V0_OWNER_ANY 0xff
26 #define NVIF_IOCTL_V0_ROUTE_NVIF 0x00
27 #define NVIF_IOCTL_V0_ROUTE_HIDDEN 0xff
31 __u8 data
[]; /* ioctl data (below) */
34 struct nvif_ioctl_nop_v0
{
38 struct nvif_ioctl_sclass_v0
{
43 struct nvif_ioctl_sclass_oclass_v0
{
50 struct nvif_ioctl_new_v0
{
58 /* these class numbers are made up by us, and not nvidia-assigned */
59 #define NVIF_IOCTL_NEW_V0_CONTROL -1
60 #define NVIF_IOCTL_NEW_V0_PERFMON -2
61 #define NVIF_IOCTL_NEW_V0_PERFDOM -3
62 #define NVIF_IOCTL_NEW_V0_SW_NV04 -4
63 #define NVIF_IOCTL_NEW_V0_SW_NV10 -5
64 #define NVIF_IOCTL_NEW_V0_SW_NV50 -6
65 #define NVIF_IOCTL_NEW_V0_SW_GF100 -7
67 __u8 data
[]; /* class data (class.h) */
70 struct nvif_ioctl_del
{
73 struct nvif_ioctl_rd_v0
{
82 struct nvif_ioctl_wr_v0
{
91 struct nvif_ioctl_map_v0
{
99 struct nvif_ioctl_unmap
{
102 struct nvif_ioctl_ntfy_new_v0
{
108 __u8 data
[]; /* event request data (event.h) */
111 struct nvif_ioctl_ntfy_del_v0
{
118 struct nvif_ioctl_ntfy_get_v0
{
125 struct nvif_ioctl_ntfy_put_v0
{
132 struct nvif_ioctl_mthd_v0
{
137 __u8 data
[]; /* method data (class.h) */