/linux/mm/ |
H A D | memremap.c | 46 static void devmap_managed_enable_put(struct dev_pagemap *pgmap) in devmap_managed_enable_put() argument 48 if (pgmap->type == MEMORY_DEVICE_FS_DAX) in devmap_managed_enable_put() 52 static void devmap_managed_enable_get(struct dev_pagemap *pgmap) in devmap_managed_enable_get() argument 54 if (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() 80 return pfn + vmem_altmap_offset(pgmap_altmap(pgmap)); in pfn_first() 83 bool pgmap_pfn_valid(struct dev_pagemap *pgmap, unsigne argument 98 pfn_end(struct dev_pagemap * pgmap,int range_id) pfn_end() argument 105 pfn_len(struct dev_pagemap * pgmap,unsigned long range_id) pfn_len() argument 111 pageunmap_range(struct dev_pagemap * pgmap,int range_id) pageunmap_range() argument 137 memunmap_pages(struct dev_pagemap * pgmap) memunmap_pages() argument 165 struct dev_pagemap *pgmap = container_of(ref, struct dev_pagemap, ref); dev_pagemap_percpu_release() local 170 pagemap_range(struct dev_pagemap * pgmap,struct mhp_params * params,int range_id,int nid) pagemap_range() argument 292 memremap_pages(struct dev_pagemap * pgmap,int nid) memremap_pages() argument 403 devm_memremap_pages(struct device * dev,struct dev_pagemap * pgmap) devm_memremap_pages() argument 420 devm_memunmap_pages(struct device * dev,struct dev_pagemap * pgmap) devm_memunmap_pages() argument 435 get_dev_pagemap(unsigned long pfn,struct dev_pagemap * pgmap) get_dev_pagemap() argument [all...] |
H A D | gup.c | 31 struct dev_pagemap *pgmap; member 700 ctx->pgmap = get_dev_pagemap(pfn, ctx->pgmap); in follow_huge_pud() 701 if (!ctx->pgmap) in follow_huge_pud() 841 struct dev_pagemap **pgmap) in follow_page_pte() argument 882 *pgmap = get_dev_pagemap(pte_pfn(pte), *pgmap); in follow_page_pte() 883 if (*pgmap) in follow_page_pte() 971 page = follow_devmap_pmd(vma, address, pmd, flags, &ctx->pgmap); in follow_pmd_mask() 978 return follow_page_pte(vma, address, pmd, flags, &ctx->pgmap); in follow_pmd_mask() 991 return follow_page_pte(vma, address, pmd, flags, &ctx->pgmap); in follow_pmd_mask() 998 follow_page_pte(vma, address, pmd, flags, &ctx->pgmap); in follow_pmd_mask() [all …]
|
H A D | memory-failure.c | 1753 struct dev_pagemap *pgmap) in mf_generic_kill_procs() argument 1776 switch (pgmap->type) { in mf_generic_kill_procs() 2149 struct dev_pagemap *pgmap) in memory_failure_dev_pagemap() argument 2154 if (!pgmap_pfn_valid(pgmap, pfn)) in memory_failure_dev_pagemap() 2161 if (pgmap_has_memory_failure(pgmap)) { in memory_failure_dev_pagemap() 2162 rc = pgmap->ops->memory_failure(pgmap, pfn, 1, flags); in memory_failure_dev_pagemap() 2171 rc = mf_generic_kill_procs(pfn, flags, pgmap); in memory_failure_dev_pagemap() 2174 put_dev_pagemap(pgmap); in memory_failure_dev_pagemap() 2221 struct dev_pagemap *pgmap; in memory_failure() local 2242 pgmap = get_dev_pagemap(pfn, NULL); in memory_failure() [all …]
|
H A D | memory_hotplug.c | 348 struct dev_pagemap *pgmap; in pfn_to_online_page() local 377 pgmap = get_dev_pagemap(pfn, NULL); in pfn_to_online_page() 378 put_dev_pagemap(pgmap); in pfn_to_online_page() 381 if (pgmap) in pfn_to_online_page() 423 params->pgmap); in __add_pages()
|
H A D | migrate_device.c | 138 page->pgmap->owner != migrate->pgmap_owner) in migrate_vma_collect_pmd() 159 page->pgmap->owner != migrate->pgmap_owner)) in migrate_vma_collect_pmd()
|
H A D | hmm.c | 251 pfn_swap_entry_to_page(entry)->pgmap->owner == in hmm_vma_handle_pte()
|
H A D | huge_memory.c | 1568 pmd_t *pmd, int flags, struct dev_pagemap **pgmap) in follow_devmap_pmd() argument 1596 *pgmap = get_dev_pagemap(pfn, *pgmap); in follow_devmap_pmd() 1597 if (!*pgmap) in follow_devmap_pmd()
|
/linux/include/linux/ |
H A D | memremap.h | 101 int (*memory_failure)(struct dev_pagemap *pgmap, unsigned long pfn, 143 static inline bool pgmap_has_memory_failure(struct dev_pagemap *pgmap) in pgmap_has_memory_failure() argument 145 return pgmap->ops && pgmap->ops->memory_failure; in pgmap_has_memory_failure() 148 static inline struct vmem_altmap *pgmap_altmap(struct dev_pagemap *pgmap) in pgmap_altmap() argument 150 if (pgmap->flags & PGMAP_ALTMAP_VALID) in pgmap_altmap() 151 return &pgmap->altmap; in pgmap_altmap() 155 static inline unsigned long pgmap_vmemmap_nr(struct dev_pagemap *pgmap) in pgmap_vmemmap_nr() argument 157 return 1 << pgmap->vmemmap_shift; in pgmap_vmemmap_nr() 164 page->pgmap->type == MEMORY_DEVICE_PRIVATE; in is_device_private_page() 176 page->pgmap->type == MEMORY_DEVICE_PCI_P2PDMA; in is_pci_p2pdma_page() [all …]
|
H A D | memory_hotplug.h | 87 struct dev_pagemap *pgmap; member 323 struct dev_pagemap *pgmap);
|
H A D | mm.h | 3833 struct dev_pagemap *pgmap); 3890 struct dev_pagemap *pgmap) in __vmemmap_can_optimize() argument 3895 if (!pgmap || !is_power_of_2(sizeof(struct page))) in __vmemmap_can_optimize() 3898 nr_pages = pgmap_vmemmap_nr(pgmap); in __vmemmap_can_optimize() 3915 struct dev_pagemap *pgmap) in vmemmap_can_optimize() argument
|
H A D | dma-map-ops.h | 473 struct dev_pagemap *pgmap; member
|
H A D | mm_types.h | 133 struct dev_pagemap *pgmap; member
|
/linux/drivers/xen/ |
H A D | unpopulated-alloc.c | 36 struct dev_pagemap *pgmap; in fill_list() local 84 pgmap = kzalloc(sizeof(*pgmap), GFP_KERNEL); in fill_list() 85 if (!pgmap) { in fill_list() 90 pgmap->type = MEMORY_DEVICE_GENERIC; in fill_list() 91 pgmap->range = (struct range) { in fill_list() 95 pgmap->nr_range = 1; in fill_list() 96 pgmap->owner = res; in fill_list() 121 vaddr = memremap_pages(pgmap, NUMA_NO_NODE); in fill_list() 139 kfree(pgmap); in fill_list()
|
/linux/drivers/dax/ |
H A D | device.c | 85 if (dev_dax->pgmap->vmemmap_shift) in dax_set_mapping() 397 struct dev_pagemap *pgmap; in dev_dax_probe() local 410 pgmap = dev_dax->pgmap; in dev_dax_probe() 412 if (dev_dax->pgmap) { in dev_dax_probe() 418 pgmap = devm_kzalloc(dev, in dev_dax_probe() 419 struct_size(pgmap, ranges, dev_dax->nr_range - 1), in dev_dax_probe() 421 if (!pgmap) in dev_dax_probe() 424 pgmap->nr_range = dev_dax->nr_range; in dev_dax_probe() 425 dev_dax->pgmap = pgmap; in dev_dax_probe() 429 pgmap->ranges[i] = *range; in dev_dax_probe() [all …]
|
H A D | bus.h | 23 struct dev_pagemap *pgmap; member
|
H A D | dax-private.h | 90 struct dev_pagemap *pgmap; member
|
H A D | bus.c | 437 dev_dax->pgmap = NULL; in kill_dev_dax() 1411 kfree(dev_dax->pgmap); in dev_dax_release() 1463 if (data->pgmap) { in __devm_create_dev_dax() 1467 dev_dax->pgmap = kmemdup(data->pgmap, in __devm_create_dev_dax() 1469 if (!dev_dax->pgmap) { in __devm_create_dev_dax() 1525 kfree(dev_dax->pgmap); in __devm_create_dev_dax()
|
/linux/tools/testing/nvdimm/test/ |
H A D | iomap.c | 99 struct dev_pagemap *pgmap = _pgmap; in nfit_test_kill() local 101 WARN_ON(!pgmap); in nfit_test_kill() 103 percpu_ref_kill(&pgmap->ref); in nfit_test_kill() 105 wait_for_completion(&pgmap->done); in nfit_test_kill() 106 percpu_ref_exit(&pgmap->ref); in nfit_test_kill() 111 struct dev_pagemap *pgmap = container_of(ref, struct dev_pagemap, ref); in dev_pagemap_percpu_release() local 113 complete(&pgmap->done); in dev_pagemap_percpu_release() 116 void *__wrap_devm_memremap_pages(struct device *dev, struct dev_pagemap *pgmap) in __wrap_devm_memremap_pages() argument 119 resource_size_t offset = pgmap->range.start; in __wrap_devm_memremap_pages() 123 return devm_memremap_pages(dev, pgmap); in __wrap_devm_memremap_pages() [all …]
|
H A D | nfit_test.h | 214 void *__wrap_devm_memremap_pages(struct device *dev, struct dev_pagemap *pgmap);
|
/linux/drivers/gpu/drm/amd/amdkfd/ |
H A D | kfd_migrate.c | 209 return (addr + adev->kfd.pgmap.range.start) >> PAGE_SHIFT; in svm_migrate_addr_to_pfn() 239 return (addr - adev->kfd.pgmap.range.start); in svm_migrate_addr() 1021 struct dev_pagemap *pgmap; in kgd2kfd_init_zone_device() local 1033 pgmap = &kfddev->pgmap; in kgd2kfd_init_zone_device() 1034 memset(pgmap, 0, sizeof(*pgmap)); in kgd2kfd_init_zone_device() 1041 pgmap->range.start = adev->gmc.aper_base; in kgd2kfd_init_zone_device() 1042 pgmap->range.end = adev->gmc.aper_base + adev->gmc.aper_size - 1; in kgd2kfd_init_zone_device() 1043 pgmap->type = MEMORY_DEVICE_COHERENT; in kgd2kfd_init_zone_device() 1048 pgmap->range.start = res->start; in kgd2kfd_init_zone_device() 1049 pgmap->range.end = res->end; in kgd2kfd_init_zone_device() [all …]
|
H A D | kfd_svm.h | 204 #define KFD_IS_SVM_API_SUPPORTED(adev) ((adev)->kfd.pgmap.type != 0 ||\
|
/linux/drivers/nvdimm/ |
H A D | pmem.h | 29 struct dev_pagemap pgmap; member
|
/linux/arch/powerpc/include/asm/book3s/64/ |
H A D | radix.h | 367 bool vmemmap_can_optimize(struct vmem_altmap *altmap, struct dev_pagemap *pgmap); 374 struct dev_pagemap *pgmap);
|
/linux/drivers/gpu/drm/amd/amdgpu/ |
H A D | amdgpu_amdkfd.h | 110 struct dev_pagemap pgmap; member
|
/linux/drivers/gpu/drm/nouveau/ |
H A D | nouveau_dmem.c | 91 return container_of(page->pgmap, struct nouveau_dmem_chunk, pagemap); in nouveau_page_to_chunk()
|