Lines Matching refs:args
106 struct drm_nouveau_svm_bind *args = data;
111 args->va_start &= PAGE_MASK;
112 args->va_end = ALIGN(args->va_end, PAGE_SIZE);
115 if (args->reserved0 || args->reserved1)
117 if (args->header & (~NOUVEAU_SVM_BIND_VALID_MASK))
119 if (args->va_start >= args->va_end)
122 cmd = args->header >> NOUVEAU_SVM_BIND_COMMAND_SHIFT;
131 priority = args->header >> NOUVEAU_SVM_BIND_PRIORITY_SHIFT;
135 target = args->header >> NOUVEAU_SVM_BIND_TARGET_SHIFT;
149 if (args->stride)
170 for (addr = args->va_start, end = args->va_end; addr < end;) {
191 args->result = 0;
319 struct drm_nouveau_svm_init *args = data;
330 svmm->unmanaged.start = args->unmanaged_addr;
331 svmm->unmanaged.limit = args->unmanaged_addr + args->unmanaged_size;
349 args->unmanaged_addr, args->unmanaged_size,
516 struct nouveau_pfnmap_args *args)
528 args->p.phys[0] = 0;
542 unsigned long addr = args->p.addr;
544 args->p.page = hmm_pfn_to_map_order(range->hmm_pfns[0]) +
546 args->p.size = 1UL << args->p.page;
547 args->p.addr &= ~(args->p.size - 1);
548 page -= (addr - args->p.addr) >> PAGE_SHIFT;
551 args->p.phys[0] = nouveau_dmem_page_addr(page) |
555 args->p.phys[0] = page_to_phys(page) |
559 args->p.phys[0] |= NVIF_VMM_PFNMAP_V0_W;
564 struct nouveau_pfnmap_args *args, u32 size,
606 nouveau_hmm_convert_pfn(drm, &range, args);
609 ret = nvif_object_ioctl(&svmm->vmm->vmm.object, args, size, NULL);
628 } args;
677 args.i.i.version = 0;
678 args.i.i.type = NVIF_IOCTL_V0_MTHD;
679 args.i.m.version = 0;
680 args.i.m.method = NVIF_VMM_V0_PFNMAP;
681 args.i.p.version = 0;
707 args.i.p.addr = start;
708 args.i.p.page = PAGE_SHIFT;
709 args.i.p.size = PAGE_SIZE;
735 args.i.p.addr, args.i.p.size,
738 ret = nouveau_range_fault(svmm, svm->drm, &args.i,
739 sizeof(args), hmm_flags, ¬ifier);
744 limit = args.i.p.addr + args.i.p.size;
758 !(args.phys[0] & NVIF_VMM_PFNMAP_V0_V)) ||
761 !(args.phys[0] & NVIF_VMM_PFNMAP_V0_W)))
792 struct nouveau_pfnmap_args *args;
794 args = kzalloc(struct_size(args, p.phys, npages), GFP_KERNEL);
795 if (!args)
798 args->i.type = NVIF_IOCTL_V0_MTHD;
799 args->m.method = NVIF_VMM_V0_PFNMAP;
800 args->p.page = PAGE_SHIFT;
802 return args->p.phys;
808 struct nouveau_pfnmap_args *args = nouveau_pfns_to_args(pfns);
810 kfree(args);
817 struct nouveau_pfnmap_args *args = nouveau_pfns_to_args(pfns);
820 args->p.addr = addr;
821 args->p.size = npages << PAGE_SHIFT;
826 ret = nvif_object_ioctl(&svmm->vmm->vmm.object, args, sizeof(*args) +
827 npages * sizeof(args->p.phys[0]), NULL);
875 struct nvif_clb069_v0 args = {};
880 ret = nvif_object_ctor(device, "svmFaultBuffer", 0, oclass, &args,
881 sizeof(args), &buffer->object);
888 buffer->entries = args.entries;
889 buffer->getaddr = args.get;
890 buffer->putaddr = args.put;