Warning: This file is not a C or C++ file. It does not have highlighting.
1 | /* SPDX-License-Identifier: MIT */ |
---|---|
2 | #ifndef __NVIF_IOCTL_H__ |
3 | #define __NVIF_IOCTL_H__ |
4 | |
5 | #define NVIF_VERSION_LATEST 0x0000000000000100ULL |
6 | |
7 | struct nvif_ioctl_v0 { |
8 | __u8 version; |
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 | __u8 type; |
19 | __u8 pad02[4]; |
20 | #define NVIF_IOCTL_V0_OWNER_NVIF 0x00 |
21 | #define NVIF_IOCTL_V0_OWNER_ANY 0xff |
22 | __u8 owner; |
23 | #define NVIF_IOCTL_V0_ROUTE_NVIF 0x00 |
24 | #define NVIF_IOCTL_V0_ROUTE_HIDDEN 0xff |
25 | __u8 route; |
26 | __u64 token; |
27 | __u64 object; |
28 | __u8 data[]; /* ioctl data (below) */ |
29 | }; |
30 | |
31 | struct nvif_ioctl_nop_v0 { |
32 | __u64 version; |
33 | }; |
34 | |
35 | struct nvif_ioctl_sclass_v0 { |
36 | /* nvif_ioctl ... */ |
37 | __u8 version; |
38 | __u8 count; |
39 | __u8 pad02[6]; |
40 | struct nvif_ioctl_sclass_oclass_v0 { |
41 | __s32 oclass; |
42 | __s16 minver; |
43 | __s16 maxver; |
44 | } oclass[]; |
45 | }; |
46 | |
47 | struct nvif_ioctl_new_v0 { |
48 | /* nvif_ioctl ... */ |
49 | __u8 version; |
50 | __u8 pad01[6]; |
51 | __u8 route; |
52 | __u64 token; |
53 | __u64 object; |
54 | __u32 handle; |
55 | __s32 oclass; |
56 | __u8 data[]; /* class data (class.h) */ |
57 | }; |
58 | |
59 | struct nvif_ioctl_del { |
60 | }; |
61 | |
62 | struct nvif_ioctl_mthd_v0 { |
63 | /* nvif_ioctl ... */ |
64 | __u8 version; |
65 | __u8 method; |
66 | __u8 pad02[6]; |
67 | __u8 data[]; /* method data (class.h) */ |
68 | }; |
69 | |
70 | struct nvif_ioctl_rd_v0 { |
71 | /* nvif_ioctl ... */ |
72 | __u8 version; |
73 | __u8 size; |
74 | __u8 pad02[2]; |
75 | __u32 data; |
76 | __u64 addr; |
77 | }; |
78 | |
79 | struct nvif_ioctl_wr_v0 { |
80 | /* nvif_ioctl ... */ |
81 | __u8 version; |
82 | __u8 size; |
83 | __u8 pad02[2]; |
84 | __u32 data; |
85 | __u64 addr; |
86 | }; |
87 | |
88 | struct nvif_ioctl_map_v0 { |
89 | /* nvif_ioctl ... */ |
90 | __u8 version; |
91 | #define NVIF_IOCTL_MAP_V0_IO 0x00 |
92 | #define NVIF_IOCTL_MAP_V0_VA 0x01 |
93 | __u8 type; |
94 | __u8 pad02[6]; |
95 | __u64 handle; |
96 | __u64 length; |
97 | __u8 data[]; |
98 | }; |
99 | |
100 | struct nvif_ioctl_unmap { |
101 | }; |
102 | #endif |
103 |
Warning: This file is not a C or C++ file. It does not have highlighting.