1 /*	$NetBSD: if0008.h,v 1.2 2021/12/18 23:45:33 riastradh Exp $	*/
2 
3 #ifndef __NVIF_IF0008_H__
4 #define __NVIF_IF0008_H__
5 struct nvif_mmu_v0 {
6 	__u8  version;
7 	__u8  dmabits;
8 	__u8  heap_nr;
9 	__u8  type_nr;
10 	__u16 kind_nr;
11 };
12 
13 #define NVIF_MMU_V0_HEAP                                                   0x00
14 #define NVIF_MMU_V0_TYPE                                                   0x01
15 #define NVIF_MMU_V0_KIND                                                   0x02
16 
17 struct nvif_mmu_heap_v0 {
18 	__u8  version;
19 	__u8  index;
20 	__u8  pad02[6];
21 	__u64 size;
22 };
23 
24 struct nvif_mmu_type_v0 {
25 	__u8  version;
26 	__u8  index;
27 	__u8  heap;
28 	__u8  vram;
29 	__u8  host;
30 	__u8  comp;
31 	__u8  disp;
32 	__u8  kind;
33 	__u8  mappable;
34 	__u8  coherent;
35 	__u8  uncached;
36 };
37 
38 struct nvif_mmu_kind_v0 {
39 	__u8  version;
40 	__u8  kind_inv;
41 	__u16 count;
42 	__u8  data[];
43 };
44 #endif
45