.. | .. |
---|
113 | 113 | .aper = gf100_vmm_aper, |
---|
114 | 114 | .valid = gf100_vmm_valid, |
---|
115 | 115 | .flush = gf100_vmm_flush, |
---|
| 116 | + .invalidate_pdb = gf100_vmm_invalidate_pdb, |
---|
116 | 117 | .page = { |
---|
117 | 118 | { 27, &gm200_vmm_desc_17_17[1], NVKM_VMM_PAGE_Sxxx }, |
---|
118 | 119 | { 17, &gm200_vmm_desc_17_17[0], NVKM_VMM_PAGE_SVxC }, |
---|
.. | .. |
---|
128 | 129 | .aper = gf100_vmm_aper, |
---|
129 | 130 | .valid = gf100_vmm_valid, |
---|
130 | 131 | .flush = gf100_vmm_flush, |
---|
| 132 | + .invalidate_pdb = gf100_vmm_invalidate_pdb, |
---|
131 | 133 | .page = { |
---|
132 | 134 | { 27, &gm200_vmm_desc_16_16[1], NVKM_VMM_PAGE_Sxxx }, |
---|
133 | 135 | { 16, &gm200_vmm_desc_16_16[0], NVKM_VMM_PAGE_SVxC }, |
---|
.. | .. |
---|
139 | 141 | int |
---|
140 | 142 | gm200_vmm_new_(const struct nvkm_vmm_func *func_16, |
---|
141 | 143 | const struct nvkm_vmm_func *func_17, |
---|
142 | | - struct nvkm_mmu *mmu, u64 addr, u64 size, void *argv, u32 argc, |
---|
143 | | - struct lock_class_key *key, const char *name, |
---|
144 | | - struct nvkm_vmm **pvmm) |
---|
| 144 | + struct nvkm_mmu *mmu, bool managed, u64 addr, u64 size, |
---|
| 145 | + void *argv, u32 argc, struct lock_class_key *key, |
---|
| 146 | + const char *name, struct nvkm_vmm **pvmm) |
---|
145 | 147 | { |
---|
146 | 148 | const struct nvkm_vmm_func *func; |
---|
147 | 149 | union { |
---|
.. | .. |
---|
163 | 165 | } else |
---|
164 | 166 | return ret; |
---|
165 | 167 | |
---|
166 | | - return nvkm_vmm_new_(func, mmu, 0, addr, size, key, name, pvmm); |
---|
| 168 | + return nvkm_vmm_new_(func, mmu, 0, managed, addr, size, key, name, pvmm); |
---|
167 | 169 | } |
---|
168 | 170 | |
---|
169 | 171 | int |
---|
170 | | -gm200_vmm_new(struct nvkm_mmu *mmu, u64 addr, u64 size, void *argv, u32 argc, |
---|
171 | | - struct lock_class_key *key, const char *name, |
---|
172 | | - struct nvkm_vmm **pvmm) |
---|
| 172 | +gm200_vmm_new(struct nvkm_mmu *mmu, bool managed, u64 addr, u64 size, |
---|
| 173 | + void *argv, u32 argc, struct lock_class_key *key, |
---|
| 174 | + const char *name, struct nvkm_vmm **pvmm) |
---|
173 | 175 | { |
---|
174 | | - return gm200_vmm_new_(&gm200_vmm_16, &gm200_vmm_17, mmu, addr, |
---|
| 176 | + return gm200_vmm_new_(&gm200_vmm_16, &gm200_vmm_17, mmu, managed, addr, |
---|
175 | 177 | size, argv, argc, key, name, pvmm); |
---|
176 | 178 | } |
---|
177 | 179 | |
---|
178 | 180 | int |
---|
179 | | -gm200_vmm_new_fixed(struct nvkm_mmu *mmu, u64 addr, u64 size, |
---|
| 181 | +gm200_vmm_new_fixed(struct nvkm_mmu *mmu, bool managed, u64 addr, u64 size, |
---|
180 | 182 | void *argv, u32 argc, struct lock_class_key *key, |
---|
181 | 183 | const char *name, struct nvkm_vmm **pvmm) |
---|
182 | 184 | { |
---|
183 | | - return gf100_vmm_new_(&gm200_vmm_16, &gm200_vmm_17, mmu, addr, |
---|
| 185 | + return gf100_vmm_new_(&gm200_vmm_16, &gm200_vmm_17, mmu, managed, addr, |
---|
184 | 186 | size, argv, argc, key, name, pvmm); |
---|
185 | 187 | } |
---|