1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __NVIF_IOCTL_H__
3 #define __NVIF_IOCTL_H__
5 #define NVIF_VERSION_LATEST 0x0000000000000100ULL
9 #define NVIF_IOCTL_V0_NOP 0x00
10 #define NVIF_IOCTL_V0_SCLASS 0x01
11 #define NVIF_IOCTL_V0_NEW 0x02
12 #define NVIF_IOCTL_V0_DEL 0x03
13 #define NVIF_IOCTL_V0_MTHD 0x04
14 #define NVIF_IOCTL_V0_RD 0x05
15 #define NVIF_IOCTL_V0_WR 0x06
16 #define NVIF_IOCTL_V0_MAP 0x07
17 #define NVIF_IOCTL_V0_UNMAP 0x08
18 #define NVIF_IOCTL_V0_NTFY_NEW 0x09
19 #define NVIF_IOCTL_V0_NTFY_DEL 0x0a
20 #define NVIF_IOCTL_V0_NTFY_GET 0x0b
21 #define NVIF_IOCTL_V0_NTFY_PUT 0x0c
24 #define NVIF_IOCTL_V0_OWNER_NVIF 0x00
25 #define NVIF_IOCTL_V0_OWNER_ANY 0xff
27 #define NVIF_IOCTL_V0_ROUTE_NVIF 0x00
28 #define NVIF_IOCTL_V0_ROUTE_HIDDEN 0xff
32 __u8 data
[]; /* ioctl data (below) */
35 struct nvif_ioctl_nop_v0
{
39 struct nvif_ioctl_sclass_v0
{
44 struct nvif_ioctl_sclass_oclass_v0
{
51 struct nvif_ioctl_new_v0
{
60 __u8 data
[]; /* class data (class.h) */
63 struct nvif_ioctl_del
{
66 struct nvif_ioctl_rd_v0
{
75 struct nvif_ioctl_wr_v0
{
84 struct nvif_ioctl_map_v0
{
87 #define NVIF_IOCTL_MAP_V0_IO 0x00
88 #define NVIF_IOCTL_MAP_V0_VA 0x01
96 struct nvif_ioctl_unmap
{
99 struct nvif_ioctl_ntfy_new_v0
{
105 __u8 data
[]; /* event request data (event.h) */
108 struct nvif_ioctl_ntfy_del_v0
{
115 struct nvif_ioctl_ntfy_get_v0
{
122 struct nvif_ioctl_ntfy_put_v0
{
129 struct nvif_ioctl_mthd_v0
{
134 __u8 data
[]; /* method data (class.h) */