Lines Matching defs:uvmm
22 #include "uvmm.h"
46 nvkm_uvmm_mthd_pfnclr(struct nvkm_uvmm *uvmm, void *argv, u32 argc)
51 struct nvkm_vmm *vmm = uvmm->vmm;
74 nvkm_uvmm_mthd_pfnmap(struct nvkm_uvmm *uvmm, void *argv, u32 argc)
79 struct nvkm_vmm *vmm = uvmm->vmm;
107 nvkm_uvmm_mthd_unmap(struct nvkm_uvmm *uvmm, void *argv, u32 argc)
112 struct nvkm_vmm *vmm = uvmm->vmm;
151 nvkm_uvmm_mthd_map(struct nvkm_uvmm *uvmm, void *argv, u32 argc)
153 struct nvkm_client *client = uvmm->object.client;
158 struct nvkm_vmm *vmm = uvmm->vmm;
232 nvkm_uvmm_mthd_put(struct nvkm_uvmm *uvmm, void *argv, u32 argc)
237 struct nvkm_vmm *vmm = uvmm->vmm;
268 nvkm_uvmm_mthd_get(struct nvkm_uvmm *uvmm, void *argv, u32 argc)
273 struct nvkm_vmm *vmm = uvmm->vmm;
302 nvkm_uvmm_mthd_page(struct nvkm_uvmm *uvmm, void *argv, u32 argc)
311 page = uvmm->vmm->func->page;
330 nvkm_uvmm_page_index(struct nvkm_uvmm *uvmm, u64 size, u8 shift, u8 *refd)
332 struct nvkm_vmm *vmm = uvmm->vmm;
354 nvkm_uvmm_mthd_raw_get(struct nvkm_uvmm *uvmm, struct nvif_vmm_raw_v0 *args)
356 struct nvkm_vmm *vmm = uvmm->vmm;
363 ret = nvkm_uvmm_page_index(uvmm, args->size, args->shift, &refd);
371 nvkm_uvmm_mthd_raw_put(struct nvkm_uvmm *uvmm, struct nvif_vmm_raw_v0 *args)
373 struct nvkm_vmm *vmm = uvmm->vmm;
380 ret = nvkm_uvmm_page_index(uvmm, args->size, args->shift, &refd);
390 nvkm_uvmm_mthd_raw_map(struct nvkm_uvmm *uvmm, struct nvif_vmm_raw_v0 *args)
392 struct nvkm_client *client = uvmm->object.client;
393 struct nvkm_vmm *vmm = uvmm->vmm;
411 ret = nvkm_uvmm_page_index(uvmm, args->size, args->shift, &refd);
431 nvkm_uvmm_mthd_raw_unmap(struct nvkm_uvmm *uvmm, struct nvif_vmm_raw_v0 *args)
433 struct nvkm_vmm *vmm = uvmm->vmm;
440 ret = nvkm_uvmm_page_index(uvmm, args->size, args->shift, &refd);
451 nvkm_uvmm_mthd_raw_sparse(struct nvkm_uvmm *uvmm, struct nvif_vmm_raw_v0 *args)
453 struct nvkm_vmm *vmm = uvmm->vmm;
462 nvkm_uvmm_mthd_raw(struct nvkm_uvmm *uvmm, void *argv, u32 argc)
469 if (!uvmm->vmm->managed.raw)
477 return nvkm_uvmm_mthd_raw_get(uvmm, &args->v0);
479 return nvkm_uvmm_mthd_raw_put(uvmm, &args->v0);
481 return nvkm_uvmm_mthd_raw_map(uvmm, &args->v0);
483 return nvkm_uvmm_mthd_raw_unmap(uvmm, &args->v0);
485 return nvkm_uvmm_mthd_raw_sparse(uvmm, &args->v0);
494 struct nvkm_uvmm *uvmm = nvkm_uvmm(object);
496 case NVIF_VMM_V0_PAGE : return nvkm_uvmm_mthd_page (uvmm, argv, argc);
497 case NVIF_VMM_V0_GET : return nvkm_uvmm_mthd_get (uvmm, argv, argc);
498 case NVIF_VMM_V0_PUT : return nvkm_uvmm_mthd_put (uvmm, argv, argc);
499 case NVIF_VMM_V0_MAP : return nvkm_uvmm_mthd_map (uvmm, argv, argc);
500 case NVIF_VMM_V0_UNMAP : return nvkm_uvmm_mthd_unmap (uvmm, argv, argc);
501 case NVIF_VMM_V0_PFNMAP: return nvkm_uvmm_mthd_pfnmap(uvmm, argv, argc);
502 case NVIF_VMM_V0_PFNCLR: return nvkm_uvmm_mthd_pfnclr(uvmm, argv, argc);
503 case NVIF_VMM_V0_RAW : return nvkm_uvmm_mthd_raw (uvmm, argv, argc);
505 if (uvmm->vmm->func->mthd) {
506 return uvmm->vmm->func->mthd(uvmm->vmm,
507 uvmm->object.client,
520 struct nvkm_uvmm *uvmm = nvkm_uvmm(object);
521 nvkm_vmm_unref(&uvmm->vmm);
522 return uvmm;
541 struct nvkm_uvmm *uvmm;
554 if (!(uvmm = kzalloc(sizeof(*uvmm), GFP_KERNEL)))
557 nvkm_object_ctor(&nvkm_uvmm, oclass, &uvmm->object);
558 *pobject = &uvmm->object;
562 argv, argc, NULL, "user", &uvmm->vmm);
566 uvmm->vmm->debug = max(uvmm->vmm->debug, oclass->client->debug);
571 uvmm->vmm = nvkm_vmm_ref(mmu->vmm);
573 uvmm->vmm->managed.raw = raw;
576 ret = mmu->func->promote_vmm(uvmm->vmm);
581 page = uvmm->vmm->func->page;
585 args->v0.addr = uvmm->vmm->start;
586 args->v0.size = uvmm->vmm->limit;