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