Searched refs:pgmap (Results 1 - 25 of 40) sorted by relevance

12

/linux-master/include/linux/
H A Dmemremap.h101 int (*memory_failure)(struct dev_pagemap *pgmap, unsigned long pfn,
143 static inline bool pgmap_has_memory_failure(struct dev_pagemap *pgmap) argument
145 return pgmap->ops && pgmap->ops->memory_failure;
148 static inline struct vmem_altmap *pgmap_altmap(struct dev_pagemap *pgmap) argument
150 if (pgmap->flags & PGMAP_ALTMAP_VALID)
151 return &pgmap->altmap;
155 static inline unsigned long pgmap_vmemmap_nr(struct dev_pagemap *pgmap) argument
157 return 1 << pgmap->vmemmap_shift;
164 page->pgmap
202 devm_memremap_pages(struct device *dev, struct dev_pagemap *pgmap) argument
214 devm_memunmap_pages(struct device *dev, struct dev_pagemap *pgmap) argument
219 get_dev_pagemap(unsigned long pfn, struct dev_pagemap *pgmap) argument
225 pgmap_pfn_valid(struct dev_pagemap *pgmap, unsigned long pfn) argument
237 put_dev_pagemap(struct dev_pagemap *pgmap) argument
[all...]
H A Dhuge_mm.h346 pmd_t *pmd, int flags, struct dev_pagemap **pgmap);
348 pud_t *pud, int flags, struct dev_pagemap **pgmap);
507 unsigned long addr, pmd_t *pmd, int flags, struct dev_pagemap **pgmap)
513 unsigned long addr, pud_t *pud, int flags, struct dev_pagemap **pgmap)
506 follow_devmap_pmd(struct vm_area_struct *vma, unsigned long addr, pmd_t *pmd, int flags, struct dev_pagemap **pgmap) argument
512 follow_devmap_pud(struct vm_area_struct *vma, unsigned long addr, pud_t *pud, int flags, struct dev_pagemap **pgmap) argument
H A Dmemory_hotplug.h135 struct dev_pagemap *pgmap; member in struct:mhp_params
370 struct dev_pagemap *pgmap);
/linux-master/mm/
H A Dmemremap.c46 static void devmap_managed_enable_put(struct dev_pagemap *pgmap) argument
48 if (pgmap->type == MEMORY_DEVICE_FS_DAX)
52 static void devmap_managed_enable_get(struct dev_pagemap *pgmap) argument
54 if (pgmap->type == MEMORY_DEVICE_FS_DAX)
58 static void devmap_managed_enable_get(struct dev_pagemap *pgmap) argument
61 static void devmap_managed_enable_put(struct dev_pagemap *pgmap) argument
73 static unsigned long pfn_first(struct dev_pagemap *pgmap, int range_id) argument
75 struct range *range = &pgmap->ranges[range_id];
80 return pfn + vmem_altmap_offset(pgmap_altmap(pgmap));
83 bool pgmap_pfn_valid(struct dev_pagemap *pgmap, unsigne argument
98 pfn_end(struct dev_pagemap *pgmap, int range_id) argument
105 pfn_len(struct dev_pagemap *pgmap, unsigned long range_id) argument
111 pageunmap_range(struct dev_pagemap *pgmap, int range_id) argument
137 memunmap_pages(struct dev_pagemap *pgmap) argument
165 struct dev_pagemap *pgmap = container_of(ref, struct dev_pagemap, ref); local
170 pagemap_range(struct dev_pagemap *pgmap, struct mhp_params *params, int range_id, int nid) argument
292 memremap_pages(struct dev_pagemap *pgmap, int nid) argument
403 devm_memremap_pages(struct device *dev, struct dev_pagemap *pgmap) argument
420 devm_memunmap_pages(struct device *dev, struct dev_pagemap *pgmap) argument
434 get_dev_pagemap(unsigned long pfn, struct dev_pagemap *pgmap) argument
[all...]
H A Dsparse-vmemmap.c373 struct dev_pagemap *pgmap)
375 unsigned long nr_pages = pgmap_vmemmap_nr(pgmap);
377 PHYS_PFN(pgmap->ranges[pgmap->nr_range].start);
402 struct dev_pagemap *pgmap)
408 if (reuse_compound_section(start_pfn, pgmap)) {
421 size = min(end - start, pgmap_vmemmap_nr(pgmap) * sizeof(struct page));
454 struct dev_pagemap *pgmap)
464 if (vmemmap_can_optimize(altmap, pgmap))
465 r = vmemmap_populate_compound_pages(pfn, start, end, nid, pgmap);
372 reuse_compound_section(unsigned long start_pfn, struct dev_pagemap *pgmap) argument
399 vmemmap_populate_compound_pages(unsigned long start_pfn, unsigned long start, unsigned long end, int node, struct dev_pagemap *pgmap) argument
452 __populate_section_memmap(unsigned long pfn, unsigned long nr_pages, int nid, struct vmem_altmap *altmap, struct dev_pagemap *pgmap) argument
[all...]
H A Dsparse.c430 struct dev_pagemap *pgmap)
633 struct dev_pagemap *pgmap)
635 return __populate_section_memmap(pfn, nr_pages, nid, altmap, pgmap);
705 struct dev_pagemap *pgmap)
830 struct dev_pagemap *pgmap)
862 memmap = populate_section_memmap(pfn, nr_pages, nid, altmap, pgmap);
877 * @pgmap: alternate compound page geometry for devmap mappings
892 struct dev_pagemap *pgmap)
903 memmap = section_activate(nid, start_pfn, nr_pages, altmap, pgmap);
428 __populate_section_memmap(unsigned long pfn, unsigned long nr_pages, int nid, struct vmem_altmap *altmap, struct dev_pagemap *pgmap) argument
631 populate_section_memmap(unsigned long pfn, unsigned long nr_pages, int nid, struct vmem_altmap *altmap, struct dev_pagemap *pgmap) argument
703 populate_section_memmap(unsigned long pfn, unsigned long nr_pages, int nid, struct vmem_altmap *altmap, struct dev_pagemap *pgmap) argument
828 section_activate(int nid, unsigned long pfn, unsigned long nr_pages, struct vmem_altmap *altmap, struct dev_pagemap *pgmap) argument
890 sparse_add_section(int nid, unsigned long start_pfn, unsigned long nr_pages, struct vmem_altmap *altmap, struct dev_pagemap *pgmap) argument
H A Dmm_init.c974 struct dev_pagemap *pgmap)
989 * ZONE_DEVICE pages union ->lru with a ->pgmap back pointer
993 page->pgmap = pgmap;
1015 if (pgmap->type == MEMORY_DEVICE_PRIVATE ||
1016 pgmap->type == MEMORY_DEVICE_COHERENT)
1029 struct dev_pagemap *pgmap)
1031 if (!vmemmap_can_optimize(altmap, pgmap))
1032 return pgmap_vmemmap_nr(pgmap);
1040 struct dev_pagemap *pgmap,
972 __init_zone_device_page(struct page *page, unsigned long pfn, unsigned long zone_idx, int nid, struct dev_pagemap *pgmap) argument
1028 compound_nr_pages(struct vmem_altmap *altmap, struct dev_pagemap *pgmap) argument
1037 memmap_init_compound(struct page *head, unsigned long head_pfn, unsigned long zone_idx, int nid, struct dev_pagemap *pgmap, unsigned long nr_pages) argument
1064 memmap_init_zone_device(struct zone *zone, unsigned long start_pfn, unsigned long nr_pages, struct dev_pagemap *pgmap) argument
[all...]
H A Dgup.c29 struct dev_pagemap *pgmap; member in struct:follow_page_context
581 struct dev_pagemap **pgmap)
618 * case since they are only valid while holding the pgmap
621 *pgmap = get_dev_pagemap(pte_pfn(pte), *pgmap);
622 if (*pgmap)
709 page = follow_devmap_pmd(vma, address, pmd, flags, &ctx->pgmap);
716 return follow_page_pte(vma, address, pmd, flags, &ctx->pgmap);
728 return follow_page_pte(vma, address, pmd, flags, &ctx->pgmap);
735 follow_page_pte(vma, address, pmd, flags, &ctx->pgmap);
579 follow_page_pte(struct vm_area_struct *vma, unsigned long address, pmd_t *pmd, unsigned int flags, struct dev_pagemap **pgmap) argument
2583 struct dev_pagemap *pgmap = NULL; local
2699 struct dev_pagemap *pgmap = NULL; local
[all...]
H A Dmemory-failure.c1746 struct dev_pagemap *pgmap)
1769 switch (pgmap->type) {
2145 struct dev_pagemap *pgmap)
2150 if (!pgmap_pfn_valid(pgmap, pfn))
2157 if (pgmap_has_memory_failure(pgmap)) {
2158 rc = pgmap->ops->memory_failure(pgmap, pfn, 1, flags);
2167 rc = mf_generic_kill_procs(pfn, flags, pgmap);
2169 /* drop pgmap ref acquired in caller */
2170 put_dev_pagemap(pgmap);
1745 mf_generic_kill_procs(unsigned long long pfn, int flags, struct dev_pagemap *pgmap) argument
2144 memory_failure_dev_pagemap(unsigned long pfn, int flags, struct dev_pagemap *pgmap) argument
2201 struct dev_pagemap *pgmap; local
[all...]
/linux-master/drivers/xen/
H A Dunpopulated-alloc.c36 struct dev_pagemap *pgmap; local
84 pgmap = kzalloc(sizeof(*pgmap), GFP_KERNEL);
85 if (!pgmap) {
90 pgmap->type = MEMORY_DEVICE_GENERIC;
91 pgmap->range = (struct range) {
95 pgmap->nr_range = 1;
96 pgmap->owner = res;
121 vaddr = memremap_pages(pgmap, NUMA_NO_NODE);
139 kfree(pgmap);
[all...]
/linux-master/drivers/dax/
H A Dpmem.c19 struct dev_pagemap pgmap = { }; local
33 rc = nvdimm_setup_pfn(nd_pfn, &pgmap);
53 range = pgmap.range;
64 .pgmap = &pgmap,
H A Ddevice.c85 if (dev_dax->pgmap->vmemmap_shift)
397 struct dev_pagemap *pgmap; local
406 "static pgmap / multi-range device conflict\n");
410 pgmap = dev_dax->pgmap;
412 if (dev_dax->pgmap) {
418 pgmap = devm_kzalloc(dev,
419 struct_size(pgmap, ranges, dev_dax->nr_range - 1),
421 if (!pgmap)
424 pgmap
[all...]
H A Ddax-private.h59 * @pgmap - pgmap for memmap setup / lifetime (driver owned)
72 struct dev_pagemap *pgmap; member in struct:dev_dax
H A Dbus.h23 struct dev_pagemap *pgmap; member in struct:dev_dax_data
H A Dbus.c173 * (IORESOURCE_DAX_STATIC). On static dax devices, the @pgmap is pre-assigned
177 * cleared @pgmap field (see kill_dev_dax()).
435 * Dynamic dax region have the pgmap allocated via dev_kzalloc()
436 * and thus freed by devm. Clear the pgmap to not have stale pgmap
440 dev_dax->pgmap = NULL;
1441 kfree(dev_dax->pgmap);
1493 if (data->pgmap) {
1497 dev_dax->pgmap = kmemdup(data->pgmap,
[all...]
/linux-master/drivers/pci/
H A Dp2pdma.c33 struct dev_pagemap pgmap; member in struct:pci_p2pdma_pagemap
36 static struct pci_p2pdma_pagemap *to_p2p_pgmap(struct dev_pagemap *pgmap) argument
38 return container_of(pgmap, struct pci_p2pdma_pagemap, pgmap);
196 struct pci_p2pdma_pagemap *pgmap = to_p2p_pgmap(page->pgmap); local
199 rcu_dereference_protected(pgmap->provider->p2pdma, 1);
289 struct dev_pagemap *pgmap; local
316 pgmap = &p2p_pgmap->pgmap;
967 pci_p2pdma_map_type(struct dev_pagemap *pgmap, struct device *dev) argument
[all...]
/linux-master/tools/testing/nvdimm/test/
H A Diomap.c99 struct dev_pagemap *pgmap = _pgmap; local
101 WARN_ON(!pgmap);
103 percpu_ref_kill(&pgmap->ref);
105 wait_for_completion(&pgmap->done);
106 percpu_ref_exit(&pgmap->ref);
111 struct dev_pagemap *pgmap = container_of(ref, struct dev_pagemap, ref); local
113 complete(&pgmap->done);
116 void *__wrap_devm_memremap_pages(struct device *dev, struct dev_pagemap *pgmap) argument
119 resource_size_t offset = pgmap->range.start;
123 return devm_memremap_pages(dev, pgmap);
[all...]
H A Dnfit_test.h214 void *__wrap_devm_memremap_pages(struct device *dev, struct dev_pagemap *pgmap);
/linux-master/drivers/nvdimm/
H A Dpmem.h29 struct dev_pagemap pgmap; member in struct:pmem_device
H A Dpmem.c434 static int pmem_pagemap_memory_failure(struct dev_pagemap *pgmap, argument
438 container_of(pgmap, struct pmem_device, pgmap);
482 rc = nvdimm_setup_pfn(nd_pfn, &pmem->pgmap);
511 pmem->pgmap.owner = pmem;
514 pmem->pgmap.type = MEMORY_DEVICE_FS_DAX;
515 pmem->pgmap.ops = &fsdax_pagemap_ops;
516 addr = devm_memremap_pages(dev, &pmem->pgmap);
520 range_len(&pmem->pgmap.range);
522 bb_range = pmem->pgmap
[all...]
H A Dpfn_devs.c682 static int __nvdimm_setup_pfn(struct nd_pfn *nd_pfn, struct dev_pagemap *pgmap) argument
684 struct range *range = &pgmap->range;
685 struct vmem_altmap *altmap = &pgmap->altmap;
705 pgmap->nr_range = 1;
720 pgmap->flags |= PGMAP_ALTMAP_VALID;
855 int nvdimm_setup_pfn(struct nd_pfn *nd_pfn, struct dev_pagemap *pgmap) argument
867 return __nvdimm_setup_pfn(nd_pfn, pgmap);
/linux-master/drivers/gpu/drm/amd/amdkfd/
H A Dkfd_migrate.c209 return (addr + adev->kfd.pgmap.range.start) >> PAGE_SHIFT;
239 return (addr - adev->kfd.pgmap.range.start);
1017 struct dev_pagemap *pgmap; local
1029 pgmap = &kfddev->pgmap;
1030 memset(pgmap, 0, sizeof(*pgmap));
1037 pgmap->range.start = adev->gmc.aper_base;
1038 pgmap->range.end = adev->gmc.aper_base + adev->gmc.aper_size - 1;
1039 pgmap
[all...]
H A Dkfd_svm.h203 #define KFD_IS_SVM_API_SUPPORTED(adev) ((adev)->kfd.pgmap.type != 0 ||\
/linux-master/arch/powerpc/include/asm/book3s/64/
H A Dradix.h367 bool vmemmap_can_optimize(struct vmem_altmap *altmap, struct dev_pagemap *pgmap);
374 struct dev_pagemap *pgmap);
/linux-master/fs/fuse/
H A Dvirtio_fs.c861 struct dev_pagemap *pgmap; local
891 pgmap = devm_kzalloc(&vdev->dev, sizeof(*pgmap), GFP_KERNEL);
892 if (!pgmap)
895 pgmap->type = MEMORY_DEVICE_FS_DAX;
898 * devm_memremap_pages() wants its own copy in pgmap. So
902 pgmap->range = (struct range) {
906 pgmap->nr_range = 1;
908 fs->window_kaddr = devm_memremap_pages(&vdev->dev, pgmap);

Completed in 237 milliseconds

12