Searched refs:pfns (Results 1 - 20 of 20) sorted by relevance

/linux-master/drivers/iommu/iommufd/
H A Dpages.c262 * PFNs. This is used as a temporary holding memory for shuttling pfns from one
264 * work on the largest possible grouping of pfns. eg fewer lock/unlock cycles,
268 unsigned long *pfns; member in struct:pfn_batch
279 batch->pfns[0] = 0;
297 batch->pfns[0] = batch->pfns[batch->end - 1] +
310 batch->pfns[0] += skip_pfns;
318 const size_t elmsz = sizeof(*batch->pfns) + sizeof(*batch->npfns);
321 batch->pfns = temp_kmalloc(&size, backup, backup_len);
322 if (!batch->pfns)
947 pfn_reader_update_pinned(struct pfn_reader *pfns) argument
956 pfn_reader_unpin(struct pfn_reader *pfns) argument
976 pfn_reader_fill_span(struct pfn_reader *pfns) argument
1024 pfn_reader_done(struct pfn_reader *pfns) argument
1029 pfn_reader_next(struct pfn_reader *pfns) argument
1062 pfn_reader_init(struct pfn_reader *pfns, struct iopt_pages *pages, unsigned long start_index, unsigned long last_index) argument
1091 pfn_reader_release_pins(struct pfn_reader *pfns) argument
1111 pfn_reader_destroy(struct pfn_reader *pfns) argument
1121 pfn_reader_first(struct pfn_reader *pfns, struct iopt_pages *pages, unsigned long start_index, unsigned long last_index) argument
1360 struct pfn_reader pfns; local
1414 struct pfn_reader pfns; local
1749 struct pfn_reader pfns; local
[all...]
H A Dselftest.c49 * the pfns shifted. The upper bits are used for metadata.
125 struct xarray pfns; member in struct:mock_iommu_domain
221 ent = xa_load(&mock->pfns, cur / MOCK_IO_PAGE_SIZE);
231 old = xa_store(&mock->pfns, cur / MOCK_IO_PAGE_SIZE,
257 ent = xa_load(&mock->pfns, iova / MOCK_IO_PAGE_SIZE);
296 xa_init(&mock->pfns);
371 WARN_ON(!xa_empty(&mock->pfns));
405 old = xa_store(&mock->pfns, iova / MOCK_IO_PAGE_SIZE,
412 xa_erase(&mock->pfns,
445 ent = xa_erase(&mock->pfns, iov
[all...]
/linux-master/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_hmm.c177 unsigned long *pfns; local
184 pfns = kvmalloc_array(npages, sizeof(*pfns), GFP_KERNEL);
185 if (unlikely(!pfns)) {
194 hmm_range->hmm_pfns = pfns;
231 hmm_range->hmm_pfns = pfns;
239 pages[i] = hmm_pfn_to_page(pfns[i]);
246 kvfree(pfns);
/linux-master/drivers/xen/
H A Dxlate_mmu.c193 xen_pfn_t *pfns; member in struct:map_balloon_pages
201 info->pfns[info->idx++] = gfn;
218 xen_pfn_t *pfns; local
230 pfns = kcalloc(nr_grant_frames, sizeof(pfns[0]), GFP_KERNEL);
231 if (!pfns) {
240 kfree(pfns);
244 data.pfns = pfns;
254 kfree(pfns);
[all...]
H A Dprivcmd.c422 /* Allocate pfns that are then mapped with gfns from foreign domid. Update
437 pr_warn("%s Could not alloc %d pfns rc:%d\n", __func__,
736 xen_pfn_t *pfns = NULL; local
771 pfns = kcalloc(kdata.num, sizeof(*pfns), GFP_KERNEL | __GFP_NOWARN);
772 if (!pfns) {
793 pfns[i] = pfn + (i % XEN_PFN_PER_PAGE);
800 set_xen_guest_handle(xdata.frame_list, pfns);
816 int num, *errs = (int *)pfns;
818 BUILD_BUG_ON(sizeof(*errs) > sizeof(*pfns));
[all...]
/linux-master/drivers/gpu/drm/nouveau/
H A Dnouveau_svm.h34 void nouveau_pfns_free(u64 *pfns);
36 unsigned long addr, u64 *pfns, unsigned long npages);
H A Dnouveau_dmem.c665 dma_addr_t *dma_addrs, u64 *pfns)
672 args->src[i], dma_addrs + nr_dma, pfns + i);
681 nouveau_pfns_map(svmm, args->vma->vm_mm, args->start, pfns, i);
707 u64 *pfns; local
724 pfns = nouveau_pfns_alloc(max);
725 if (!pfns)
740 pfns);
746 nouveau_pfns_free(pfns);
663 nouveau_dmem_migrate_chunk(struct nouveau_drm *drm, struct nouveau_svmm *svmm, struct migrate_vma *args, dma_addr_t *dma_addrs, u64 *pfns) argument
H A Dnouveau_svm.c892 nouveau_pfns_to_args(void *pfns) argument
894 return container_of(pfns, struct nouveau_pfnmap_args, p.phys);
914 nouveau_pfns_free(u64 *pfns) argument
916 struct nouveau_pfnmap_args *args = nouveau_pfns_to_args(pfns);
923 unsigned long addr, u64 *pfns, unsigned long npages)
925 struct nouveau_pfnmap_args *args = nouveau_pfns_to_args(pfns);
922 nouveau_pfns_map(struct nouveau_svmm *svmm, struct mm_struct *mm, unsigned long addr, u64 *pfns, unsigned long npages) argument
/linux-master/tools/mm/
H A Dthpmaps229 def thp_parse(vma, kpageflags, ranges, indexes, vfns, pfns, anons, heads):
231 # by THPs (vfns: virtual frame numbers, pfns: physical frame numbers, anons:
314 # by THPs (vfns: virtual frame numbers, pfns: physical frame numbers, anons:
399 pfns = pmes & PM_PFN_MASK
400 pfns = pfns[present]
404 pfn_vec = cont_ranges_all([pfns], [pfns])[0]
411 pfns = pfns[thp
[all...]
/linux-master/drivers/gpu/drm/i915/gem/
H A Di915_gem_pages.c333 unsigned long stack[32], *pfns = stack, i; local
342 pfns = kvmalloc_array(n_pfn, sizeof(*pfns), GFP_KERNEL);
343 if (!pfns)
349 pfns[i++] = (iomap + addr) >> PAGE_SHIFT;
350 vaddr = vmap_pfn(pfns, n_pfn, pgprot_writecombine(PAGE_KERNEL_IO));
351 if (pfns != stack)
352 kvfree(pfns);
/linux-master/drivers/virtio/
H A Dvirtio_balloon.c106 /* The array of pfns we tell the Host about. */
108 __virtio32 pfns[VIRTIO_BALLOON_ARRAY_PFNS_MAX]; member in struct:virtio_balloon
155 sg_init_one(&sg, vb->pfns, sizeof(vb->pfns[0]) * vb->num_pfns);
194 __virtio32 pfns[], struct page *page)
201 * Set balloon pfns pointing at this page.
205 pfns[i] = cpu_to_virtio32(vb->vdev,
217 num = min(num, ARRAY_SIZE(vb->pfns));
242 set_page_pfns(vb, vb->pfns + vb->num_pfns, page);
281 num = min(num, ARRAY_SIZE(vb->pfns));
193 set_page_pfns(struct virtio_balloon *vb, __virtio32 pfns[], struct page *page) argument
[all...]
/linux-master/mm/
H A Dsparse.c136 * in larger pfns than the maximum scope of sparsemem:
203 unsigned long pfns; local
205 pfns = min(nr_pages, PAGES_PER_SECTION
208 subsection_mask_set(ms->usage->subsection_map, pfn, pfns);
210 pr_debug("%s: sec: %lu pfns: %lu set(%d, %d)\n", __func__, nr,
211 pfns, subsection_map_index(pfn),
212 subsection_map_index(pfn + pfns - 1));
214 pfn += pfns;
215 nr_pages -= pfns;
875 * @nr_pages: number of pfns t
[all...]
H A Dvmalloc.c3436 unsigned long *pfns; member in struct:vmap_pfn_data
3444 unsigned long pfn = data->pfns[data->idx];
3459 * @pfns: array of PFNs
3463 * Maps @count PFNs from @pfns into contiguous kernel virtual space and returns
3466 void *vmap_pfn(unsigned long *pfns, unsigned int count, pgprot_t prot) argument
3468 struct vmap_pfn_data data = { .pfns = pfns, .prot = pgprot_nx(prot) };
/linux-master/arch/powerpc/kvm/
H A Dbook3s_hv_uvmem.c230 unsigned long *pfns; member in struct:kvmppc_uvmem_slot
255 p->pfns = vcalloc(slot->npages, sizeof(*p->pfns));
256 if (!p->pfns) {
280 vfree(p->pfns);
299 p->pfns[index] = uvmem_pfn | flag;
301 p->pfns[index] = flag;
342 if (p->pfns[index] & KVMPPC_GFN_UVMEM_PFN) {
344 *uvmem_pfn = p->pfns[index] &
382 if (!(p->pfns[inde
[all...]
/linux-master/lib/
H A Dtest_hmm.c209 unsigned long *pfns = range->hmm_pfns; local
214 pfn++, pfns++) {
222 WARN_ON(*pfns & HMM_PFN_ERROR);
223 WARN_ON(!(*pfns & HMM_PFN_VALID));
225 page = hmm_pfn_to_page(*pfns);
229 if (*pfns & HMM_PFN_WRITE)
332 unsigned long pfns[64]; local
335 .hmm_pfns = pfns,
349 range.end = min(addr + (ARRAY_SIZE(pfns) << PAGE_SHIFT), end);
1172 unsigned long pfns[6 local
[all...]
/linux-master/drivers/iommu/
H A Diova.c522 /* Don't allow nonsensical pfns */
574 unsigned long pfns[IOVA_MAG_SIZE]; member in struct:iova_magazine
625 struct iova *iova = private_find_iova(iovad, mag->pfns[i]);
655 /* Only fall back to the rbtree if we have no suitable pfns at all */
656 for (i = mag->size - 1; mag->pfns[i] > limit_pfn; i--)
661 pfn = mag->pfns[i];
662 mag->pfns[i] = mag->pfns[--mag->size];
669 mag->pfns[mag->size++] = pfn;
/linux-master/arch/s390/include/asm/
H A Dgmap.h152 void s390_uv_destroy_pfns(unsigned long count, unsigned long *pfns);
/linux-master/include/xen/
H A Dxen-ops.h189 int xen_xlate_map_ballooned_pages(xen_pfn_t **pfns, void **vaddr,
/linux-master/include/linux/
H A Dvmalloc.h167 void *vmap_pfn(unsigned long *pfns, unsigned int count, pgprot_t prot);
/linux-master/arch/s390/mm/
H A Dgmap.c2729 unsigned long pfns[GATHER_GET_PAGES]; member in struct:reset_walk_state
2741 p->pfns[p->count] = phys_to_pfn(pte_val(pte));
2757 void s390_uv_destroy_pfns(unsigned long count, unsigned long *pfns) argument
2763 uv_destroy_owned_page(pfn_to_phys(pfns[i]));
2765 put_page(pfn_to_page(pfns[i]));
2797 s390_uv_destroy_pfns(state.count, state.pfns);

Completed in 196 milliseconds