Lines Matching +full:memory +full:- +full:mapped
1 /* SPDX-License-Identifier: GPL-2.0 */
6 #include <linux/percpu-refcount.h>
12 * struct vmem_altmap - pre-allocated storage for vmemmap_populate
14 * @reserve: pages mapped, but reserved for driver use (relative to @base)
29 * Specialize ZONE_DEVICE memory into multiple types each having differents
33 * Device memory that is not directly addressable by the CPU: CPU can neither
34 * read nor write private memory. In this case, we do still have struct pages
35 * backing the device memory. Doing so simplifies the implementation, but it is
39 * A more complete discussion of unaddressable memory may be found in
43 * Host memory that has similar access semantics as System RAM i.e. DMA
51 * Host memory that has similar access semantics as System RAM i.e. DMA
53 * that expose memory using a character device.
56 * Device memory residing in a PCI BAR intended for use with Peer-to-Peer
71 * device driver to implement its own memory management.)
86 * Used for private (un-addressable) device memory only. Must migrate
95 * struct dev_pagemap - metadata for ZONE_DEVICE mappings
96 * @altmap: pre-allocated/reserved memory for vmemmap allocations
100 * @type: memory type: see MEMORY_* in memory_hotplug.h
105 * foreign ZONE_DEVICE memory is accessed.
106 * @nr_range: number of ranges to be mapped
107 * @range: range to be mapped when nr_range == 1
108 * @ranges: array of ranges to be mapped when nr_range > 1
128 if (pgmap->flags & PGMAP_ALTMAP_VALID) in pgmap_altmap()
129 return &pgmap->altmap; in pgmap_altmap()
154 return ERR_PTR(-ENXIO); in devm_memremap_pages()
188 percpu_ref_put(pgmap->ref); in put_dev_pagemap()