xref: /aosp_15_r20/external/mesa3d/src/nouveau/drm/nvif/ioctl.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1*61046927SAndroid Build Coastguard Worker #ifndef __NVIF_IOCTL_H__
2*61046927SAndroid Build Coastguard Worker #define __NVIF_IOCTL_H__
3*61046927SAndroid Build Coastguard Worker 
4*61046927SAndroid Build Coastguard Worker #define NVIF_VERSION_LATEST                               0x0000000000000000ULL
5*61046927SAndroid Build Coastguard Worker 
6*61046927SAndroid Build Coastguard Worker struct nvif_ioctl_v0 {
7*61046927SAndroid Build Coastguard Worker 	__u8  version;
8*61046927SAndroid Build Coastguard Worker #define NVIF_IOCTL_V0_NOP                                                  0x00
9*61046927SAndroid Build Coastguard Worker #define NVIF_IOCTL_V0_SCLASS                                               0x01
10*61046927SAndroid Build Coastguard Worker #define NVIF_IOCTL_V0_NEW                                                  0x02
11*61046927SAndroid Build Coastguard Worker #define NVIF_IOCTL_V0_DEL                                                  0x03
12*61046927SAndroid Build Coastguard Worker #define NVIF_IOCTL_V0_MTHD                                                 0x04
13*61046927SAndroid Build Coastguard Worker #define NVIF_IOCTL_V0_RD                                                   0x05
14*61046927SAndroid Build Coastguard Worker #define NVIF_IOCTL_V0_WR                                                   0x06
15*61046927SAndroid Build Coastguard Worker #define NVIF_IOCTL_V0_MAP                                                  0x07
16*61046927SAndroid Build Coastguard Worker #define NVIF_IOCTL_V0_UNMAP                                                0x08
17*61046927SAndroid Build Coastguard Worker #define NVIF_IOCTL_V0_NTFY_NEW                                             0x09
18*61046927SAndroid Build Coastguard Worker #define NVIF_IOCTL_V0_NTFY_DEL                                             0x0a
19*61046927SAndroid Build Coastguard Worker #define NVIF_IOCTL_V0_NTFY_GET                                             0x0b
20*61046927SAndroid Build Coastguard Worker #define NVIF_IOCTL_V0_NTFY_PUT                                             0x0c
21*61046927SAndroid Build Coastguard Worker 	__u8  type;
22*61046927SAndroid Build Coastguard Worker 	__u8  pad02[4];
23*61046927SAndroid Build Coastguard Worker #define NVIF_IOCTL_V0_OWNER_NVIF                                           0x00
24*61046927SAndroid Build Coastguard Worker #define NVIF_IOCTL_V0_OWNER_ANY                                            0xff
25*61046927SAndroid Build Coastguard Worker 	__u8  owner;
26*61046927SAndroid Build Coastguard Worker #define NVIF_IOCTL_V0_ROUTE_NVIF                                           0x00
27*61046927SAndroid Build Coastguard Worker #define NVIF_IOCTL_V0_ROUTE_HIDDEN                                         0xff
28*61046927SAndroid Build Coastguard Worker 	__u8  route;
29*61046927SAndroid Build Coastguard Worker 	__u64 token;
30*61046927SAndroid Build Coastguard Worker 	__u64 object;
31*61046927SAndroid Build Coastguard Worker 	__u8  data[];		/* ioctl data (below) */
32*61046927SAndroid Build Coastguard Worker };
33*61046927SAndroid Build Coastguard Worker 
34*61046927SAndroid Build Coastguard Worker struct nvif_ioctl_nop_v0 {
35*61046927SAndroid Build Coastguard Worker 	__u64 version;
36*61046927SAndroid Build Coastguard Worker };
37*61046927SAndroid Build Coastguard Worker 
38*61046927SAndroid Build Coastguard Worker struct nvif_ioctl_sclass_v0 {
39*61046927SAndroid Build Coastguard Worker 	/* nvif_ioctl ... */
40*61046927SAndroid Build Coastguard Worker 	__u8  version;
41*61046927SAndroid Build Coastguard Worker 	__u8  count;
42*61046927SAndroid Build Coastguard Worker 	__u8  pad02[6];
43*61046927SAndroid Build Coastguard Worker 	struct nvif_ioctl_sclass_oclass_v0 {
44*61046927SAndroid Build Coastguard Worker 		__s32 oclass;
45*61046927SAndroid Build Coastguard Worker 		__s16 minver;
46*61046927SAndroid Build Coastguard Worker 		__s16 maxver;
47*61046927SAndroid Build Coastguard Worker 	} oclass[];
48*61046927SAndroid Build Coastguard Worker };
49*61046927SAndroid Build Coastguard Worker 
50*61046927SAndroid Build Coastguard Worker struct nvif_ioctl_new_v0 {
51*61046927SAndroid Build Coastguard Worker 	/* nvif_ioctl ... */
52*61046927SAndroid Build Coastguard Worker 	__u8  version;
53*61046927SAndroid Build Coastguard Worker 	__u8  pad01[6];
54*61046927SAndroid Build Coastguard Worker 	__u8  route;
55*61046927SAndroid Build Coastguard Worker 	__u64 token;
56*61046927SAndroid Build Coastguard Worker 	__u64 object;
57*61046927SAndroid Build Coastguard Worker 	__u32 handle;
58*61046927SAndroid Build Coastguard Worker 	__s32 oclass;
59*61046927SAndroid Build Coastguard Worker 	__u8  data[];		/* class data (class.h) */
60*61046927SAndroid Build Coastguard Worker };
61*61046927SAndroid Build Coastguard Worker 
62*61046927SAndroid Build Coastguard Worker struct nvif_ioctl_del {
63*61046927SAndroid Build Coastguard Worker };
64*61046927SAndroid Build Coastguard Worker 
65*61046927SAndroid Build Coastguard Worker struct nvif_ioctl_rd_v0 {
66*61046927SAndroid Build Coastguard Worker 	/* nvif_ioctl ... */
67*61046927SAndroid Build Coastguard Worker 	__u8  version;
68*61046927SAndroid Build Coastguard Worker 	__u8  size;
69*61046927SAndroid Build Coastguard Worker 	__u8  pad02[2];
70*61046927SAndroid Build Coastguard Worker 	__u32 data;
71*61046927SAndroid Build Coastguard Worker 	__u64 addr;
72*61046927SAndroid Build Coastguard Worker };
73*61046927SAndroid Build Coastguard Worker 
74*61046927SAndroid Build Coastguard Worker struct nvif_ioctl_wr_v0 {
75*61046927SAndroid Build Coastguard Worker 	/* nvif_ioctl ... */
76*61046927SAndroid Build Coastguard Worker 	__u8  version;
77*61046927SAndroid Build Coastguard Worker 	__u8  size;
78*61046927SAndroid Build Coastguard Worker 	__u8  pad02[2];
79*61046927SAndroid Build Coastguard Worker 	__u32 data;
80*61046927SAndroid Build Coastguard Worker 	__u64 addr;
81*61046927SAndroid Build Coastguard Worker };
82*61046927SAndroid Build Coastguard Worker 
83*61046927SAndroid Build Coastguard Worker struct nvif_ioctl_map_v0 {
84*61046927SAndroid Build Coastguard Worker 	/* nvif_ioctl ... */
85*61046927SAndroid Build Coastguard Worker 	__u8  version;
86*61046927SAndroid Build Coastguard Worker 	__u8  pad01[3];
87*61046927SAndroid Build Coastguard Worker 	__u32 length;
88*61046927SAndroid Build Coastguard Worker 	__u64 handle;
89*61046927SAndroid Build Coastguard Worker };
90*61046927SAndroid Build Coastguard Worker 
91*61046927SAndroid Build Coastguard Worker struct nvif_ioctl_unmap {
92*61046927SAndroid Build Coastguard Worker };
93*61046927SAndroid Build Coastguard Worker 
94*61046927SAndroid Build Coastguard Worker struct nvif_ioctl_ntfy_new_v0 {
95*61046927SAndroid Build Coastguard Worker 	/* nvif_ioctl ... */
96*61046927SAndroid Build Coastguard Worker 	__u8  version;
97*61046927SAndroid Build Coastguard Worker 	__u8  event;
98*61046927SAndroid Build Coastguard Worker 	__u8  index;
99*61046927SAndroid Build Coastguard Worker 	__u8  pad03[5];
100*61046927SAndroid Build Coastguard Worker 	__u8  data[];		/* event request data (event.h) */
101*61046927SAndroid Build Coastguard Worker };
102*61046927SAndroid Build Coastguard Worker 
103*61046927SAndroid Build Coastguard Worker struct nvif_ioctl_ntfy_del_v0 {
104*61046927SAndroid Build Coastguard Worker 	/* nvif_ioctl ... */
105*61046927SAndroid Build Coastguard Worker 	__u8  version;
106*61046927SAndroid Build Coastguard Worker 	__u8  index;
107*61046927SAndroid Build Coastguard Worker 	__u8  pad02[6];
108*61046927SAndroid Build Coastguard Worker };
109*61046927SAndroid Build Coastguard Worker 
110*61046927SAndroid Build Coastguard Worker struct nvif_ioctl_ntfy_get_v0 {
111*61046927SAndroid Build Coastguard Worker 	/* nvif_ioctl ... */
112*61046927SAndroid Build Coastguard Worker 	__u8  version;
113*61046927SAndroid Build Coastguard Worker 	__u8  index;
114*61046927SAndroid Build Coastguard Worker 	__u8  pad02[6];
115*61046927SAndroid Build Coastguard Worker };
116*61046927SAndroid Build Coastguard Worker 
117*61046927SAndroid Build Coastguard Worker struct nvif_ioctl_ntfy_put_v0 {
118*61046927SAndroid Build Coastguard Worker 	/* nvif_ioctl ... */
119*61046927SAndroid Build Coastguard Worker 	__u8  version;
120*61046927SAndroid Build Coastguard Worker 	__u8  index;
121*61046927SAndroid Build Coastguard Worker 	__u8  pad02[6];
122*61046927SAndroid Build Coastguard Worker };
123*61046927SAndroid Build Coastguard Worker 
124*61046927SAndroid Build Coastguard Worker struct nvif_ioctl_mthd_v0 {
125*61046927SAndroid Build Coastguard Worker 	/* nvif_ioctl ... */
126*61046927SAndroid Build Coastguard Worker 	__u8  version;
127*61046927SAndroid Build Coastguard Worker 	__u8  method;
128*61046927SAndroid Build Coastguard Worker 	__u8  pad02[6];
129*61046927SAndroid Build Coastguard Worker 	__u8  data[];		/* method data (class.h) */
130*61046927SAndroid Build Coastguard Worker };
131*61046927SAndroid Build Coastguard Worker 
132*61046927SAndroid Build Coastguard Worker #endif
133