This source file includes following definitions.
- gp10b_vmm_new
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 #include "vmm.h"
23
24 static const struct nvkm_vmm_func
25 gp10b_vmm = {
26 .join = gp100_vmm_join,
27 .part = gf100_vmm_part,
28 .aper = gk20a_vmm_aper,
29 .valid = gp100_vmm_valid,
30 .flush = gp100_vmm_flush,
31 .mthd = gp100_vmm_mthd,
32 .invalidate_pdb = gp100_vmm_invalidate_pdb,
33 .page = {
34 { 47, &gp100_vmm_desc_16[4], NVKM_VMM_PAGE_Sxxx },
35 { 38, &gp100_vmm_desc_16[3], NVKM_VMM_PAGE_Sxxx },
36 { 29, &gp100_vmm_desc_16[2], NVKM_VMM_PAGE_Sxxx },
37 { 21, &gp100_vmm_desc_16[1], NVKM_VMM_PAGE_SxHC },
38 { 16, &gp100_vmm_desc_16[0], NVKM_VMM_PAGE_SxHC },
39 { 12, &gp100_vmm_desc_12[0], NVKM_VMM_PAGE_SxHx },
40 {}
41 }
42 };
43
44 int
45 gp10b_vmm_new(struct nvkm_mmu *mmu, bool managed, u64 addr, u64 size,
46 void *argv, u32 argc, struct lock_class_key *key,
47 const char *name, struct nvkm_vmm **pvmm)
48 {
49 return gp100_vmm_new_(&gp10b_vmm, mmu, managed, addr, size,
50 argv, argc, key, name, pvmm);
51 }