| .. | .. |
|---|
| 71 | 71 | .aper = gf100_vmm_aper, |
|---|
| 72 | 72 | .valid = gf100_vmm_valid, |
|---|
| 73 | 73 | .flush = gf100_vmm_flush, |
|---|
| 74 | + .invalidate_pdb = gf100_vmm_invalidate_pdb, |
|---|
| 74 | 75 | .page = { |
|---|
| 75 | 76 | { 17, &gk104_vmm_desc_17_17[0], NVKM_VMM_PAGE_xVxC }, |
|---|
| 76 | 77 | { 12, &gk104_vmm_desc_17_12[0], NVKM_VMM_PAGE_xVHx }, |
|---|
| .. | .. |
|---|
| 85 | 86 | .aper = gf100_vmm_aper, |
|---|
| 86 | 87 | .valid = gf100_vmm_valid, |
|---|
| 87 | 88 | .flush = gf100_vmm_flush, |
|---|
| 89 | + .invalidate_pdb = gf100_vmm_invalidate_pdb, |
|---|
| 88 | 90 | .page = { |
|---|
| 89 | 91 | { 16, &gk104_vmm_desc_16_16[0], NVKM_VMM_PAGE_xVxC }, |
|---|
| 90 | 92 | { 12, &gk104_vmm_desc_16_12[0], NVKM_VMM_PAGE_xVHx }, |
|---|
| .. | .. |
|---|
| 93 | 95 | }; |
|---|
| 94 | 96 | |
|---|
| 95 | 97 | int |
|---|
| 96 | | -gk104_vmm_new(struct nvkm_mmu *mmu, u64 addr, u64 size, void *argv, u32 argc, |
|---|
| 97 | | - struct lock_class_key *key, const char *name, |
|---|
| 98 | | - struct nvkm_vmm **pvmm) |
|---|
| 98 | +gk104_vmm_new(struct nvkm_mmu *mmu, bool managed, u64 addr, u64 size, |
|---|
| 99 | + void *argv, u32 argc, struct lock_class_key *key, |
|---|
| 100 | + const char *name, struct nvkm_vmm **pvmm) |
|---|
| 99 | 101 | { |
|---|
| 100 | | - return gf100_vmm_new_(&gk104_vmm_16, &gk104_vmm_17, mmu, addr, |
|---|
| 102 | + return gf100_vmm_new_(&gk104_vmm_16, &gk104_vmm_17, mmu, managed, addr, |
|---|
| 101 | 103 | size, argv, argc, key, name, pvmm); |
|---|
| 102 | 104 | } |
|---|