Home
last modified time | relevance | path

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

12

/Linux-v5.15/mm/
Dmemremap.c44 static void devmap_managed_enable_put(struct dev_pagemap *pgmap) in devmap_managed_enable_put() argument
46 if (pgmap->type == MEMORY_DEVICE_PRIVATE || in devmap_managed_enable_put()
47 pgmap->type == MEMORY_DEVICE_FS_DAX) in devmap_managed_enable_put()
51 static void devmap_managed_enable_get(struct dev_pagemap *pgmap) in devmap_managed_enable_get() argument
53 if (pgmap->type == MEMORY_DEVICE_PRIVATE || in devmap_managed_enable_get()
54 pgmap->type == MEMORY_DEVICE_FS_DAX) in devmap_managed_enable_get()
58 static void devmap_managed_enable_get(struct dev_pagemap *pgmap) in devmap_managed_enable_get() argument
61 static void devmap_managed_enable_put(struct dev_pagemap *pgmap) in devmap_managed_enable_put() argument
73 static unsigned long pfn_first(struct dev_pagemap *pgmap, int range_id) in pfn_first() argument
75 struct range *range = &pgmap->ranges[range_id]; in pfn_first()
[all …]
Dgup.c28 struct dev_pagemap *pgmap; member
475 struct dev_pagemap **pgmap) in follow_page_pte() argument
525 *pgmap = get_dev_pagemap(pte_pfn(pte), *pgmap); in follow_page_pte()
526 if (*pgmap) in follow_page_pte()
662 page = follow_devmap_pmd(vma, address, pmd, flags, &ctx->pgmap); in follow_pmd_mask()
668 return follow_page_pte(vma, address, pmd, flags, &ctx->pgmap); in follow_pmd_mask()
688 return follow_page_pte(vma, address, pmd, flags, &ctx->pgmap); in follow_pmd_mask()
706 follow_page_pte(vma, address, pmd, flags, &ctx->pgmap); in follow_pmd_mask()
743 page = follow_devmap_pud(vma, address, pud, flags, &ctx->pgmap); in follow_pud_mask()
849 if (ctx.pgmap) in follow_page()
[all …]
Dmemory-failure.c1505 struct dev_pagemap *pgmap) in memory_failure_dev_pagemap() argument
1522 if (!pgmap_pfn_valid(pgmap, pfn)) { in memory_failure_dev_pagemap()
1543 if (pgmap->type == MEMORY_DEVICE_PRIVATE) { in memory_failure_dev_pagemap()
1585 put_dev_pagemap(pgmap); in memory_failure_dev_pagemap()
1612 struct dev_pagemap *pgmap; in memory_failure() local
1624 pgmap = get_dev_pagemap(pfn, NULL); in memory_failure()
1625 if (pgmap) in memory_failure()
1627 pgmap); in memory_failure()
Dhuge_memory.c979 pmd_t *pmd, int flags, struct dev_pagemap **pgmap) in follow_devmap_pmd() argument
1017 *pgmap = get_dev_pagemap(pfn, *pgmap); in follow_devmap_pmd()
1018 if (!*pgmap) in follow_devmap_pmd()
1150 pud_t *pud, int flags, struct dev_pagemap **pgmap) in follow_devmap_pud() argument
1184 *pgmap = get_dev_pagemap(pfn, *pgmap); in follow_devmap_pud()
1185 if (!*pgmap) in follow_devmap_pud()
Dswap.c117 put_dev_pagemap(page->pgmap); in __put_page()
927 put_dev_pagemap(page->pgmap); in release_pages()
Dmemory_hotplug.c259 struct dev_pagemap *pgmap; in pfn_to_online_page() local
288 pgmap = get_dev_pagemap(pfn, NULL); in pfn_to_online_page()
289 put_dev_pagemap(pgmap); in pfn_to_online_page()
292 if (pgmap) in pfn_to_online_page()
/Linux-v5.15/include/linux/
Dmemremap.h78 void (*kill)(struct dev_pagemap *pgmap);
83 void (*cleanup)(struct dev_pagemap *pgmap);
126 static inline struct vmem_altmap *pgmap_altmap(struct dev_pagemap *pgmap) in pgmap_altmap() argument
128 if (pgmap->flags & PGMAP_ALTMAP_VALID) in pgmap_altmap()
129 return &pgmap->altmap; in pgmap_altmap()
134 void *memremap_pages(struct dev_pagemap *pgmap, int nid);
135 void memunmap_pages(struct dev_pagemap *pgmap);
136 void *devm_memremap_pages(struct device *dev, struct dev_pagemap *pgmap);
137 void devm_memunmap_pages(struct device *dev, struct dev_pagemap *pgmap);
139 struct dev_pagemap *pgmap);
[all …]
Dhuge_mm.h287 pmd_t *pmd, int flags, struct dev_pagemap **pgmap);
289 pud_t *pud, int flags, struct dev_pagemap **pgmap);
470 unsigned long addr, pmd_t *pmd, int flags, struct dev_pagemap **pgmap) in follow_devmap_pmd() argument
476 unsigned long addr, pud_t *pud, int flags, struct dev_pagemap **pgmap) in follow_devmap_pud() argument
Dmm_types.h178 struct dev_pagemap *pgmap; member
/Linux-v5.15/tools/testing/nvdimm/test/
Diomap.c101 struct dev_pagemap *pgmap = _pgmap; in nfit_test_kill() local
103 WARN_ON(!pgmap || !pgmap->ref); in nfit_test_kill()
105 if (pgmap->ops && pgmap->ops->kill) in nfit_test_kill()
106 pgmap->ops->kill(pgmap); in nfit_test_kill()
108 percpu_ref_kill(pgmap->ref); in nfit_test_kill()
110 if (pgmap->ops && pgmap->ops->cleanup) { in nfit_test_kill()
111 pgmap->ops->cleanup(pgmap); in nfit_test_kill()
113 wait_for_completion(&pgmap->done); in nfit_test_kill()
114 percpu_ref_exit(pgmap->ref); in nfit_test_kill()
120 struct dev_pagemap *pgmap = in dev_pagemap_percpu_release() local
[all …]
/Linux-v5.15/drivers/xen/
Dunpopulated-alloc.c20 struct dev_pagemap *pgmap; in fill_list() local
41 pgmap = kzalloc(sizeof(*pgmap), GFP_KERNEL); in fill_list()
42 if (!pgmap) { in fill_list()
47 pgmap->type = MEMORY_DEVICE_GENERIC; in fill_list()
48 pgmap->range = (struct range) { in fill_list()
52 pgmap->nr_range = 1; in fill_list()
53 pgmap->owner = res; in fill_list()
78 vaddr = memremap_pages(pgmap, NUMA_NO_NODE); in fill_list()
97 kfree(pgmap); in fill_list()
/Linux-v5.15/drivers/pci/
Dp2pdma.c37 struct dev_pagemap pgmap; member
42 static struct pci_p2pdma_pagemap *to_p2p_pgmap(struct dev_pagemap *pgmap) in to_p2p_pgmap() argument
44 return container_of(pgmap, struct pci_p2pdma_pagemap, pgmap); in to_p2p_pgmap()
175 struct dev_pagemap *pgmap; in pci_p2pdma_add_resource() local
202 pgmap = &p2p_pgmap->pgmap; in pci_p2pdma_add_resource()
203 pgmap->range.start = pci_resource_start(pdev, bar) + offset; in pci_p2pdma_add_resource()
204 pgmap->range.end = pgmap->range.start + size - 1; in pci_p2pdma_add_resource()
205 pgmap->nr_range = 1; in pci_p2pdma_add_resource()
206 pgmap->type = MEMORY_DEVICE_PCI_P2PDMA; in pci_p2pdma_add_resource()
212 addr = devm_memremap_pages(&pdev->dev, pgmap); in pci_p2pdma_add_resource()
[all …]
/Linux-v5.15/drivers/dax/pmem/
Dcore.c20 struct dev_pagemap pgmap = { }; in __dax_pmem_probe() local
34 rc = nvdimm_setup_pfn(nd_pfn, &pgmap); in __dax_pmem_probe()
54 range = pgmap.range; in __dax_pmem_probe()
65 .pgmap = &pgmap, in __dax_pmem_probe()
/Linux-v5.15/drivers/dax/
Ddevice.c395 struct dev_pagemap *pgmap; in dev_dax_probe() local
401 pgmap = dev_dax->pgmap; in dev_dax_probe()
402 if (dev_WARN_ONCE(dev, pgmap && dev_dax->nr_range > 1, in dev_dax_probe()
406 if (!pgmap) { in dev_dax_probe()
407 pgmap = devm_kzalloc(dev, sizeof(*pgmap) + sizeof(struct range) in dev_dax_probe()
409 if (!pgmap) in dev_dax_probe()
411 pgmap->nr_range = dev_dax->nr_range; in dev_dax_probe()
424 if (!dev_dax->pgmap) in dev_dax_probe()
425 pgmap->ranges[i] = *range; in dev_dax_probe()
428 pgmap->type = MEMORY_DEVICE_GENERIC; in dev_dax_probe()
[all …]
Dsuper.c181 struct dev_pagemap *pgmap, *end_pgmap; in generic_fsdax_supported() local
183 pgmap = get_dev_pagemap(pfn_t_to_pfn(pfn), NULL); in generic_fsdax_supported()
185 if (pgmap && pgmap == end_pgmap && pgmap->type == MEMORY_DEVICE_FS_DAX in generic_fsdax_supported()
186 && pfn_t_to_page(pfn)->pgmap == pgmap in generic_fsdax_supported()
187 && pfn_t_to_page(end_pfn)->pgmap == pgmap in generic_fsdax_supported()
191 put_dev_pagemap(pgmap); in generic_fsdax_supported()
Dbus.h26 struct dev_pagemap *pgmap; member
Ddax-private.h70 struct dev_pagemap *pgmap; member
Dbus.c1260 kfree(dev_dax->pgmap); in dev_dax_release()
1313 if (data->pgmap) { in devm_create_dev_dax()
1317 dev_dax->pgmap = kmemdup(data->pgmap, in devm_create_dev_dax()
1319 if (!dev_dax->pgmap) { in devm_create_dev_dax()
1374 kfree(dev_dax->pgmap); in devm_create_dev_dax()
/Linux-v5.15/drivers/gpu/drm/amd/amdkfd/
Dkfd_migrate.c212 return (addr + adev->kfd.dev->pgmap.range.start) >> PAGE_SHIFT; in svm_migrate_addr_to_pfn()
243 return (addr - adev->kfd.dev->pgmap.range.start); in svm_migrate_addr()
867 struct dev_pagemap *pgmap; in svm_migrate_init() local
876 pgmap = &kfddev->pgmap; in svm_migrate_init()
877 memset(pgmap, 0, sizeof(*pgmap)); in svm_migrate_init()
887 pgmap->type = MEMORY_DEVICE_PRIVATE; in svm_migrate_init()
888 pgmap->nr_range = 1; in svm_migrate_init()
889 pgmap->range.start = res->start; in svm_migrate_init()
890 pgmap->range.end = res->end; in svm_migrate_init()
891 pgmap->ops = &svm_migrate_pgmap_ops; in svm_migrate_init()
[all …]
Dkfd_svm.h195 #define KFD_IS_SVM_API_SUPPORTED(dev) ((dev)->pgmap.type != 0)
/Linux-v5.15/drivers/nvdimm/
Dpmem.c376 rc = nvdimm_setup_pfn(nd_pfn, &pmem->pgmap); in pmem_attach_disk()
405 pmem->pgmap.owner = pmem; in pmem_attach_disk()
408 pmem->pgmap.type = MEMORY_DEVICE_FS_DAX; in pmem_attach_disk()
409 addr = devm_memremap_pages(dev, &pmem->pgmap); in pmem_attach_disk()
413 range_len(&pmem->pgmap.range); in pmem_attach_disk()
415 bb_range = pmem->pgmap.range; in pmem_attach_disk()
418 pmem->pgmap.range.start = res->start; in pmem_attach_disk()
419 pmem->pgmap.range.end = res->end; in pmem_attach_disk()
420 pmem->pgmap.nr_range = 1; in pmem_attach_disk()
421 pmem->pgmap.type = MEMORY_DEVICE_FS_DAX; in pmem_attach_disk()
[all …]
Dpfn_devs.c673 static int __nvdimm_setup_pfn(struct nd_pfn *nd_pfn, struct dev_pagemap *pgmap) in __nvdimm_setup_pfn() argument
675 struct range *range = &pgmap->range; in __nvdimm_setup_pfn()
676 struct vmem_altmap *altmap = &pgmap->altmap; in __nvdimm_setup_pfn()
696 pgmap->nr_range = 1; in __nvdimm_setup_pfn()
711 pgmap->flags |= PGMAP_ALTMAP_VALID; in __nvdimm_setup_pfn()
835 int nvdimm_setup_pfn(struct nd_pfn *nd_pfn, struct dev_pagemap *pgmap) in nvdimm_setup_pfn() argument
847 return __nvdimm_setup_pfn(nd_pfn, pgmap); in nvdimm_setup_pfn()
Dpmem.h26 struct dev_pagemap pgmap; member
Dnd.h540 int nvdimm_setup_pfn(struct nd_pfn *nd_pfn, struct dev_pagemap *pgmap);
543 struct dev_pagemap *pgmap) in nvdimm_setup_pfn() argument
/Linux-v5.15/fs/fuse/
Dvirtio_fs.c802 struct dev_pagemap *pgmap; in virtio_fs_setup_dax() local
826 pgmap = devm_kzalloc(&vdev->dev, sizeof(*pgmap), GFP_KERNEL); in virtio_fs_setup_dax()
827 if (!pgmap) in virtio_fs_setup_dax()
830 pgmap->type = MEMORY_DEVICE_FS_DAX; in virtio_fs_setup_dax()
837 pgmap->range = (struct range) { in virtio_fs_setup_dax()
841 pgmap->nr_range = 1; in virtio_fs_setup_dax()
843 fs->window_kaddr = devm_memremap_pages(&vdev->dev, pgmap); in virtio_fs_setup_dax()

12