Home
last modified time | relevance | path

Searched refs:pgmap (Results 1 – 19 of 19) sorted by relevance

/linux/include/linux/
H A Dmemremap.h100 int (*memory_failure)(struct dev_pagemap *pgmap, unsigned long pfn,
149 static inline bool pgmap_has_memory_failure(struct dev_pagemap *pgmap) in pgmap_has_memory_failure() argument
151 return pgmap->ops && pgmap->ops->memory_failure; in pgmap_has_memory_failure()
154 static inline struct vmem_altmap *pgmap_altmap(struct dev_pagemap *pgmap) in pgmap_altmap() argument
156 if (pgmap->flags & PGMAP_ALTMAP_VALID) in pgmap_altmap()
157 return &pgmap->altmap; in pgmap_altmap()
161 static inline unsigned long pgmap_vmemmap_nr(struct dev_pagemap *pgmap) in pgmap_vmemmap_nr() argument
163 return 1 << pgmap->vmemmap_shift; in pgmap_vmemmap_nr()
170 folio->pgmap->type == MEMORY_DEVICE_PRIVATE; in folio_is_device_private()
183 folio->pgmap->type == MEMORY_DEVICE_PCI_P2PDMA; in folio_is_pci_p2pdma()
[all …]
H A Dmm.h4862 struct dev_pagemap *pgmap);
4925 struct dev_pagemap *pgmap) in __vmemmap_can_optimize() argument
4930 if (!pgmap || !is_power_of_2(sizeof(struct page))) in __vmemmap_can_optimize()
4933 nr_pages = pgmap_vmemmap_nr(pgmap); in __vmemmap_can_optimize()
4950 struct dev_pagemap *pgmap) in vmemmap_can_optimize() argument
/linux/drivers/xen/
H A Dunpopulated-alloc.c39 struct dev_pagemap *pgmap; in fill_list() local
87 pgmap = kzalloc_obj(*pgmap); in fill_list()
88 if (!pgmap) { in fill_list()
93 pgmap->type = MEMORY_DEVICE_GENERIC; in fill_list()
94 pgmap->range = (struct range) { in fill_list()
98 pgmap->nr_range = 1; in fill_list()
99 pgmap->owner = res; in fill_list()
124 vaddr = memremap_pages(pgmap, NUMA_NO_NODE); in fill_list()
142 kfree(pgmap); in fill_list()
/linux/tools/testing/nvdimm/test/
H A Diomap.c98 struct dev_pagemap *pgmap = _pgmap; in nfit_test_kill()
100 WARN_ON(!pgmap); in nfit_test_kill()
102 percpu_ref_kill(&pgmap->ref); in nfit_test_kill()
104 wait_for_completion(&pgmap->done); in nfit_test_kill()
105 percpu_ref_exit(&pgmap->ref); in nfit_test_kill()
110 struct dev_pagemap *pgmap = container_of(ref, struct dev_pagemap, ref); in dev_pagemap_percpu_release()
112 complete(&pgmap->done); in dev_pagemap_percpu_release()
115 void *__wrap_devm_memremap_pages(struct device *dev, struct dev_pagemap *pgmap)
118 resource_size_t offset = pgmap->range.start; in __wrap_devm_memremap_pages()
122 return devm_memremap_pages(dev, pgmap); in __wrap_devm_memremap_pages()
99 struct dev_pagemap *pgmap = _pgmap; nfit_test_kill() local
111 struct dev_pagemap *pgmap = container_of(ref, struct dev_pagemap, ref); dev_pagemap_percpu_release() local
116 __wrap_devm_memremap_pages(struct device * dev,struct dev_pagemap * pgmap) __wrap_devm_memremap_pages() argument
[all...]
H A Dnfit_test.h214 void *__wrap_devm_memremap_pages(struct device *dev, struct dev_pagemap *pgmap);
/linux/drivers/hv/
H A Dmshv_vtl_main.c384 struct dev_pagemap *pgmap; in mshv_vtl_ioctl_add_vtl0_mem() local
395 pgmap = kzalloc_obj(*pgmap); in mshv_vtl_ioctl_add_vtl0_mem()
396 if (!pgmap) in mshv_vtl_ioctl_add_vtl0_mem()
403 pgmap->ranges[0].start = PFN_PHYS(vtl0_mem.start_pfn); in mshv_vtl_ioctl_add_vtl0_mem()
404 pgmap->ranges[0].end = PFN_PHYS(vtl0_mem.last_pfn) - 1; in mshv_vtl_ioctl_add_vtl0_mem()
405 pgmap->nr_range = 1; in mshv_vtl_ioctl_add_vtl0_mem()
406 pgmap->type = MEMORY_DEVICE_GENERIC; in mshv_vtl_ioctl_add_vtl0_mem()
414 pgmap->vmemmap_shift = min(count_trailing_zeros(vtl0_mem.start_pfn | vtl0_mem.last_pfn), in mshv_vtl_ioctl_add_vtl0_mem()
418 vtl0_mem.start_pfn, vtl0_mem.last_pfn, pgmap->vmemmap_shift); in mshv_vtl_ioctl_add_vtl0_mem()
420 addr = devm_memremap_pages(mem_dev, pgmap); in mshv_vtl_ioctl_add_vtl0_mem()
[all …]
/linux/mm/
H A Dmm_init.c992 struct dev_pagemap *pgmap) in __init_zone_device_page() argument
1011 page_folio(page)->pgmap = pgmap; in __init_zone_device_page()
1038 switch (pgmap->type) { in __init_zone_device_page()
1060 struct dev_pagemap *pgmap) in compound_nr_pages() argument
1062 if (!vmemmap_can_optimize(altmap, pgmap)) in compound_nr_pages()
1063 return pgmap_vmemmap_nr(pgmap); in compound_nr_pages()
1071 struct dev_pagemap *pgmap, in memmap_init_compound() argument
1075 unsigned int order = pgmap->vmemmap_shift; in memmap_init_compound()
1087 __init_zone_device_page(page, pfn, zone_idx, nid, pgmap); in memmap_init_compound()
1097 struct dev_pagemap *pgmap) in memmap_init_zone_device() argument
[all …]
H A Dmemory-failure.c1719 struct dev_pagemap *pgmap) in mf_generic_kill_procs() argument
1742 switch (pgmap->type) { in mf_generic_kill_procs()
2131 struct dev_pagemap *pgmap) in memory_failure_dev_pagemap() argument
2136 if (!pgmap_pfn_valid(pgmap, pfn)) in memory_failure_dev_pagemap()
2143 if (pgmap_has_memory_failure(pgmap)) { in memory_failure_dev_pagemap()
2144 rc = pgmap->ops->memory_failure(pgmap, pfn, 1, flags); in memory_failure_dev_pagemap()
2153 rc = mf_generic_kill_procs(pfn, flags, pgmap); in memory_failure_dev_pagemap()
2156 put_dev_pagemap(pgmap); in memory_failure_dev_pagemap()
2346 struct dev_pagemap *pgmap; in memory_failure() local
2375 pgmap = get_dev_pagemap(pfn); in memory_failure()
[all …]
H A Dmigrate_device.c173 (folio->pgmap->owner != migrate->pgmap_owner)) { in migrate_vma_collect_huge_pmd()
272 struct dev_pagemap *pgmap; in migrate_vma_collect_pmd() local
300 pgmap = page_pgmap(page); in migrate_vma_collect_pmd()
303 pgmap->owner != migrate->pgmap_owner) in migrate_vma_collect_pmd()
342 pgmap = page_pgmap(page); in migrate_vma_collect_pmd()
346 pgmap->owner != migrate->pgmap_owner) in migrate_vma_collect_pmd()
H A Dmemory_hotplug.c341 struct dev_pagemap *pgmap; in pfn_to_online_page() local
370 pgmap = get_dev_pagemap(pfn); in pfn_to_online_page()
371 put_dev_pagemap(pgmap); in pfn_to_online_page()
373 /* The presence of a pgmap indicates ZONE_DEVICE offline pfn */ in pfn_to_online_page()
374 if (pgmap) in pfn_to_online_page()
416 params->pgmap); in __add_pages()
H A Dhmm.c347 softleaf_to_folio(entry)->pgmap->owner == in hmm_vma_handle_absent_pmd()
H A Dmemory.c4846 struct dev_pagemap *pgmap; in do_swap_page()
4850 pgmap = page_pgmap(vmf->page); in do_swap_page()
4851 ret = pgmap->ops->migrate_to_ram(vmf); in do_swap_page()
4830 struct dev_pagemap *pgmap; do_swap_page() local
/linux/drivers/s390/block/
H A Ddcssblk.c81 struct dev_pagemap pgmap; member
418 devm_memunmap_pages(&dev_info->dev, &dev_info->pgmap); in dcssblk_shared_store()
693 dev_info->pgmap.type = MEMORY_DEVICE_FS_DAX; in dcssblk_add_store()
694 dev_info->pgmap.range.start = dev_info->start; in dcssblk_add_store()
695 dev_info->pgmap.range.end = dev_info->end; in dcssblk_add_store()
696 dev_info->pgmap.nr_range = 1; in dcssblk_add_store()
697 addr = devm_memremap_pages(&dev_info->dev, &dev_info->pgmap); in dcssblk_add_store()
735 devm_memunmap_pages(&dev_info->dev, &dev_info->pgmap); in dcssblk_add_store()
822 devm_memunmap_pages(&dev_info->dev, &dev_info->pgmap); in dcssblk_remove_store()
/linux/drivers/nvdimm/
H A Dpfn_devs.c672 static int __nvdimm_setup_pfn(struct nd_pfn *nd_pfn, struct dev_pagemap *pgmap) in __nvdimm_setup_pfn() argument
674 struct range *range = &pgmap->range; in __nvdimm_setup_pfn()
675 struct vmem_altmap *altmap = &pgmap->altmap; in __nvdimm_setup_pfn()
695 pgmap->nr_range = 1; in __nvdimm_setup_pfn()
710 pgmap->flags |= PGMAP_ALTMAP_VALID; in __nvdimm_setup_pfn()
845 int nvdimm_setup_pfn(struct nd_pfn *nd_pfn, struct dev_pagemap *pgmap) in nvdimm_setup_pfn() argument
857 return __nvdimm_setup_pfn(nd_pfn, pgmap); in nvdimm_setup_pfn()
H A Dnd.h665 int nvdimm_setup_pfn(struct nd_pfn *nd_pfn, struct dev_pagemap *pgmap);
668 struct dev_pagemap *pgmap) in nvdimm_setup_pfn() argument
/linux/arch/powerpc/include/asm/book3s/64/
H A Dradix.h357 bool vmemmap_can_optimize(struct vmem_altmap *altmap, struct dev_pagemap *pgmap);
364 struct dev_pagemap *pgmap);
/linux/drivers/gpu/drm/nouveau/
H A Dnouveau_dmem.c284 tail->pgmap = head->pgmap; in nouveau_dmem_folio_split()
/linux/drivers/gpu/drm/
H A Ddrm_pagemap.c1262 new_folio->pgmap = orig_folio->pgmap; in drm_pagemap_folio_split()
/linux/drivers/gpu/drm/amd/amdkfd/
H A Dkfd_svm.c188 bo_adev->kfd.pgmap.range.start; in svm_range_dma_map_dev()