Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
[cris-mirror.git] / drivers / gpu / drm / nouveau / include / nvif / if000c.h
blob2928ecd989ad54ea2dd04151606520993b58c7a0
1 #ifndef __NVIF_IF000C_H__
2 #define __NVIF_IF000C_H__
3 struct nvif_vmm_v0 {
4 __u8 version;
5 __u8 page_nr;
6 __u8 pad02[6];
7 __u64 addr;
8 __u64 size;
9 __u8 data[];
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
18 struct 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];
29 struct 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;
43 struct nvif_vmm_put_v0 {
44 __u8 version;
45 __u8 pad01[7];
46 __u64 addr;
49 struct 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[];
59 struct nvif_vmm_unmap_v0 {
60 __u8 version;
61 __u8 pad01[7];
62 __u64 addr;
64 #endif