Lines Matching refs:args

114 	struct drm_nouveau_svm_bind *args = data;
119 args->va_start &= PAGE_MASK;
120 args->va_end = ALIGN(args->va_end, PAGE_SIZE);
123 if (args->reserved0 || args->reserved1)
125 if (args->header & (~NOUVEAU_SVM_BIND_VALID_MASK))
127 if (args->va_start >= args->va_end)
130 cmd = args->header >> NOUVEAU_SVM_BIND_COMMAND_SHIFT;
140 target = args->header >> NOUVEAU_SVM_BIND_TARGET_SHIFT;
154 if (args->stride)
175 for (addr = args->va_start, end = args->va_end; addr < end;) {
196 args->result = 0;
321 struct drm_nouveau_svm_init *args = data;
332 svmm->unmanaged.start = args->unmanaged_addr;
333 svmm->unmanaged.limit = args->unmanaged_addr + args->unmanaged_size;
351 args->unmanaged_addr, args->unmanaged_size,
539 struct nouveau_pfnmap_args *args)
551 args->p.phys[0] = 0;
565 unsigned long addr = args->p.addr;
567 args->p.page = hmm_pfn_to_map_order(range->hmm_pfns[0]) +
569 args->p.size = 1UL << args->p.page;
570 args->p.addr &= ~(args->p.size - 1);
571 page -= (addr - args->p.addr) >> PAGE_SHIFT;
574 args->p.phys[0] = nouveau_dmem_page_addr(page) |
578 args->p.phys[0] = page_to_phys(page) |
582 args->p.phys[0] |= NVIF_VMM_PFNMAP_V0_W;
587 struct nouveau_pfnmap_args *args, u32 size,
594 unsigned long start = args->p.addr;
599 args->p.addr, args->p.size,
628 args->p.page = 12;
629 args->p.size = PAGE_SIZE;
630 args->p.addr = start;
631 args->p.phys[0] = page_to_phys(page) |
637 ret = nvif_object_ioctl(&svmm->vmm->vmm.object, args, size, NULL);
650 struct nouveau_pfnmap_args *args, u32 size,
668 args->p.addr, args->p.size,
701 nouveau_hmm_convert_pfn(drm, &range, args);
703 ret = nvif_object_ioctl(&svmm->vmm->vmm.object, args, size, NULL);
722 } args;
771 args.i.i.version = 0;
772 args.i.i.type = NVIF_IOCTL_V0_MTHD;
773 args.i.m.version = 0;
774 args.i.m.method = NVIF_VMM_V0_PFNMAP;
775 args.i.p.version = 0;
801 args.i.p.addr = start;
802 args.i.p.page = PAGE_SHIFT;
803 args.i.p.size = PAGE_SIZE;
832 &args.i, sizeof(args),
835 ret = nouveau_range_fault(svmm, svm->drm, &args.i,
836 sizeof(args), hmm_flags,
840 limit = args.i.p.addr + args.i.p.size;
854 !(args.phys[0] & NVIF_VMM_PFNMAP_V0_V)) ||
857 !(args.phys[0] & NVIF_VMM_PFNMAP_V0_W)) ||
861 !(args.phys[0] & NVIF_VMM_PFNMAP_V0_A)))
900 struct nouveau_pfnmap_args *args;
902 args = kzalloc(struct_size(args, p.phys, npages), GFP_KERNEL);
903 if (!args)
906 args->i.type = NVIF_IOCTL_V0_MTHD;
907 args->m.method = NVIF_VMM_V0_PFNMAP;
908 args->p.page = PAGE_SHIFT;
910 return args->p.phys;
916 struct nouveau_pfnmap_args *args = nouveau_pfns_to_args(pfns);
918 kfree(args);
925 struct nouveau_pfnmap_args *args = nouveau_pfns_to_args(pfns);
927 args->p.addr = addr;
928 args->p.size = npages << PAGE_SHIFT;
932 nvif_object_ioctl(&svmm->vmm->vmm.object, args,
933 struct_size(args, p.phys, npages), NULL);
987 struct nvif_clb069_v0 args = {};
992 ret = nvif_object_ctor(device, "svmFaultBuffer", 0, oclass, &args,
993 sizeof(args), &buffer->object);
1000 buffer->entries = args.entries;
1001 buffer->getaddr = args.get;
1002 buffer->putaddr = args.put;