Lines Matching refs:vmm
22 #include <nvif/vmm.h>
28 nvif_vmm_unmap(struct nvif_vmm *vmm, u64 addr)
30 return nvif_object_mthd(&vmm->object, NVIF_VMM_V0_UNMAP,
36 nvif_vmm_map(struct nvif_vmm *vmm, u64 addr, u64 size, void *argv, u32 argc,
57 ret = nvif_object_mthd(&vmm->object, NVIF_VMM_V0_MAP,
65 nvif_vmm_put(struct nvif_vmm *vmm, struct nvif_vma *vma)
68 WARN_ON(nvif_object_mthd(&vmm->object, NVIF_VMM_V0_PUT,
77 nvif_vmm_get(struct nvif_vmm *vmm, enum nvif_vmm_get type, bool sparse,
98 ret = nvif_object_mthd(&vmm->object, NVIF_VMM_V0_GET,
108 nvif_vmm_dtor(struct nvif_vmm *vmm)
110 kfree(vmm->page);
111 nvif_object_dtor(&vmm->object);
116 u64 addr, u64 size, void *argv, u32 argc, struct nvif_vmm *vmm)
122 vmm->object.client = NULL;
123 vmm->page = NULL;
134 oclass, args, argn, &vmm->object);
138 vmm->start = args->addr;
139 vmm->limit = args->size;
141 vmm->page_nr = args->page_nr;
142 vmm->page = kmalloc_array(vmm->page_nr, sizeof(*vmm->page),
144 if (!vmm->page) {
149 for (i = 0; i < vmm->page_nr; i++) {
152 ret = nvif_object_mthd(&vmm->object, NVIF_VMM_V0_PAGE,
157 vmm->page[i].shift = args.shift;
158 vmm->page[i].sparse = args.sparse;
159 vmm->page[i].vram = args.vram;
160 vmm->page[i].host = args.host;
161 vmm->page[i].comp = args.comp;
166 nvif_vmm_dtor(vmm);