]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - drivers/gpu/drm/nouveau/include/nvif/if000c.h
drm/nouveau/mmu: add a privileged method to directly manage PTEs
[linux.git] / drivers / gpu / drm / nouveau / include / nvif / if000c.h
index f8e29cfee7f875a604add9aa8b5433ecc7a1fece..20374882ac8fdfff01d5ccb60fc70f6631f72bbe 100644 (file)
@@ -15,6 +15,8 @@ struct nvif_vmm_v0 {
 #define NVIF_VMM_V0_PUT                                                    0x02
 #define NVIF_VMM_V0_MAP                                                    0x03
 #define NVIF_VMM_V0_UNMAP                                                  0x04
+#define NVIF_VMM_V0_PFNMAP                                                 0x05
+#define NVIF_VMM_V0_PFNCLR                                                 0x06
 
 struct nvif_vmm_page_v0 {
        __u8  version;
@@ -62,4 +64,28 @@ struct nvif_vmm_unmap_v0 {
        __u8  pad01[7];
        __u64 addr;
 };
+
+struct nvif_vmm_pfnmap_v0 {
+       __u8  version;
+       __u8  page;
+       __u8  pad02[6];
+       __u64 addr;
+       __u64 size;
+#define NVIF_VMM_PFNMAP_V0_ADDR                           0xfffffffffffff000ULL
+#define NVIF_VMM_PFNMAP_V0_ADDR_SHIFT                                        12
+#define NVIF_VMM_PFNMAP_V0_APER                           0x00000000000000f0ULL
+#define NVIF_VMM_PFNMAP_V0_HOST                           0x0000000000000000ULL
+#define NVIF_VMM_PFNMAP_V0_VRAM                           0x0000000000000010ULL
+#define NVIF_VMM_PFNMAP_V0_W                              0x0000000000000002ULL
+#define NVIF_VMM_PFNMAP_V0_V                              0x0000000000000001ULL
+#define NVIF_VMM_PFNMAP_V0_NONE                           0x0000000000000000ULL
+       __u64 phys[];
+};
+
+struct nvif_vmm_pfnclr_v0 {
+       __u8  version;
+       __u8  pad01[7];
+       __u64 addr;
+       __u64 size;
+};
 #endif