.. | .. |
---|
235 | 235 | struct nvkm_device *device = vmm->mmu->subdev.device; |
---|
236 | 236 | struct nvkm_ram *ram = device->fb->ram; |
---|
237 | 237 | struct nvkm_memory *memory = map->memory; |
---|
238 | | - u8 aper, kind, comp, priv, ro; |
---|
| 238 | + u8 aper, kind, kind_inv, comp, priv, ro; |
---|
239 | 239 | int kindn, ret = -ENOSYS; |
---|
240 | 240 | const u8 *kindm; |
---|
241 | 241 | |
---|
.. | .. |
---|
278 | 278 | return -EINVAL; |
---|
279 | 279 | } |
---|
280 | 280 | |
---|
281 | | - kindm = vmm->mmu->func->kind(vmm->mmu, &kindn); |
---|
282 | | - if (kind >= kindn || kindm[kind] == 0x7f) { |
---|
| 281 | + kindm = vmm->mmu->func->kind(vmm->mmu, &kindn, &kind_inv); |
---|
| 282 | + if (kind >= kindn || kindm[kind] == kind_inv) { |
---|
283 | 283 | VMM_DEBUG(vmm, "kind %02x", kind); |
---|
284 | 284 | return -EINVAL; |
---|
285 | 285 | } |
---|
.. | .. |
---|
376 | 376 | }; |
---|
377 | 377 | |
---|
378 | 378 | int |
---|
379 | | -nv50_vmm_new(struct nvkm_mmu *mmu, u64 addr, u64 size, void *argv, u32 argc, |
---|
380 | | - struct lock_class_key *key, const char *name, |
---|
| 379 | +nv50_vmm_new(struct nvkm_mmu *mmu, bool managed, u64 addr, u64 size, |
---|
| 380 | + void *argv, u32 argc, struct lock_class_key *key, const char *name, |
---|
381 | 381 | struct nvkm_vmm **pvmm) |
---|
382 | 382 | { |
---|
383 | | - return nv04_vmm_new_(&nv50_vmm, mmu, 0, addr, size, |
---|
| 383 | + return nv04_vmm_new_(&nv50_vmm, mmu, 0, managed, addr, size, |
---|
384 | 384 | argv, argc, key, name, pvmm); |
---|
385 | 385 | } |
---|