Linux Audio

Check our new training course

Loading...
v5.14.15
 1#ifndef __NVIF_IF000C_H__
 2#define __NVIF_IF000C_H__
 3struct nvif_vmm_v0 {
 4	__u8  version;
 5	__u8  page_nr;
 6	__u8  managed;
 7	__u8  pad03[5];
 8	__u64 addr;
 9	__u64 size;
10	__u8  data[];
11};
12
13#define NVIF_VMM_V0_PAGE                                                   0x00
14#define NVIF_VMM_V0_GET                                                    0x01
15#define NVIF_VMM_V0_PUT                                                    0x02
16#define NVIF_VMM_V0_MAP                                                    0x03
17#define NVIF_VMM_V0_UNMAP                                                  0x04
18#define NVIF_VMM_V0_PFNMAP                                                 0x05
19#define NVIF_VMM_V0_PFNCLR                                                 0x06
20#define NVIF_VMM_V0_MTHD(i)                                         ((i) + 0x80)
21
22struct nvif_vmm_page_v0 {
23	__u8  version;
24	__u8  index;
25	__u8  shift;
26	__u8  sparse;
27	__u8  vram;
28	__u8  host;
29	__u8  comp;
30	__u8  pad07[1];
31};
32
33struct nvif_vmm_get_v0 {
34	__u8  version;
35#define NVIF_VMM_GET_V0_ADDR                                               0x00
36#define NVIF_VMM_GET_V0_PTES                                               0x01
37#define NVIF_VMM_GET_V0_LAZY	                                           0x02
38	__u8  type;
39	__u8  sparse;
40	__u8  page;
41	__u8  align;
42	__u8  pad05[3];
43	__u64 size;
44	__u64 addr;
45};
46
47struct nvif_vmm_put_v0 {
48	__u8  version;
49	__u8  pad01[7];
50	__u64 addr;
51};
52
53struct nvif_vmm_map_v0 {
54	__u8  version;
55	__u8  pad01[7];
56	__u64 addr;
57	__u64 size;
58	__u64 memory;
59	__u64 offset;
60	__u8  data[];
61};
62
63struct nvif_vmm_unmap_v0 {
64	__u8  version;
65	__u8  pad01[7];
66	__u64 addr;
67};
68
69struct nvif_vmm_pfnmap_v0 {
70	__u8  version;
71	__u8  page;
72	__u8  pad02[6];
73	__u64 addr;
74	__u64 size;
75#define NVIF_VMM_PFNMAP_V0_ADDR                           0xfffffffffffff000ULL
76#define NVIF_VMM_PFNMAP_V0_ADDR_SHIFT                                        12
77#define NVIF_VMM_PFNMAP_V0_APER                           0x00000000000000f0ULL
78#define NVIF_VMM_PFNMAP_V0_HOST                           0x0000000000000000ULL
79#define NVIF_VMM_PFNMAP_V0_VRAM                           0x0000000000000010ULL
80#define NVIF_VMM_PFNMAP_V0_A				  0x0000000000000004ULL
81#define NVIF_VMM_PFNMAP_V0_W                              0x0000000000000002ULL
82#define NVIF_VMM_PFNMAP_V0_V                              0x0000000000000001ULL
83#define NVIF_VMM_PFNMAP_V0_NONE                           0x0000000000000000ULL
84	__u64 phys[];
85};
86
87struct nvif_vmm_pfnclr_v0 {
88	__u8  version;
89	__u8  pad01[7];
90	__u64 addr;
91	__u64 size;
92};
93#endif
v4.17
 1#ifndef __NVIF_IF000C_H__
 2#define __NVIF_IF000C_H__
 3struct nvif_vmm_v0 {
 4	__u8  version;
 5	__u8  page_nr;
 6	__u8  pad02[6];
 
 7	__u64 addr;
 8	__u64 size;
 9	__u8  data[];
10};
11
12#define NVIF_VMM_V0_PAGE                                                   0x00
13#define NVIF_VMM_V0_GET                                                    0x01
14#define NVIF_VMM_V0_PUT                                                    0x02
15#define NVIF_VMM_V0_MAP                                                    0x03
16#define NVIF_VMM_V0_UNMAP                                                  0x04
 
 
 
17
18struct nvif_vmm_page_v0 {
19	__u8  version;
20	__u8  index;
21	__u8  shift;
22	__u8  sparse;
23	__u8  vram;
24	__u8  host;
25	__u8  comp;
26	__u8  pad07[1];
27};
28
29struct nvif_vmm_get_v0 {
30	__u8  version;
31#define NVIF_VMM_GET_V0_ADDR                                               0x00
32#define NVIF_VMM_GET_V0_PTES                                               0x01
33#define NVIF_VMM_GET_V0_LAZY	                                           0x02
34	__u8  type;
35	__u8  sparse;
36	__u8  page;
37	__u8  align;
38	__u8  pad05[3];
39	__u64 size;
40	__u64 addr;
41};
42
43struct nvif_vmm_put_v0 {
44	__u8  version;
45	__u8  pad01[7];
46	__u64 addr;
47};
48
49struct nvif_vmm_map_v0 {
50	__u8  version;
51	__u8  pad01[7];
52	__u64 addr;
53	__u64 size;
54	__u64 memory;
55	__u64 offset;
56	__u8  data[];
57};
58
59struct nvif_vmm_unmap_v0 {
60	__u8  version;
61	__u8  pad01[7];
62	__u64 addr;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
63};
64#endif