| /linux/mm/ |
| H A D | cma_debug.c | 3 * CMA DebugFS Interface 10 #include <linux/cma.h> 16 #include "cma.h" 36 struct cma *cma = data; in cma_used_get() local 38 spin_lock_irq(&cma->lock); in cma_used_get() 39 *val = cma->count - cma->available_count; in cma_used_get() 40 spin_unlock_irq(&cma->lock); in cma_used_get() 48 struct cma *cma = data; in cma_maxchunk_get() local 55 spin_lock_irq(&cma->lock); in cma_maxchunk_get() 56 for (r = 0; r < cma->nranges; r++) { in cma_maxchunk_get() [all …]
|
| H A D | cma.c | 15 #define pr_fmt(fmt) "cma: " fmt 28 #include <linux/cma.h> 32 #include <trace/events/cma.h> 35 #include "cma.h" 37 struct cma cma_areas[MAX_CMA_AREAS]; 40 phys_addr_t cma_get_base(const struct cma *cma) in cma_get_base() argument 42 WARN_ON_ONCE(cma->nranges != 1); in cma_get_base() 43 return PFN_PHYS(cma->ranges[0].base_pfn); in cma_get_base() 46 unsigned long cma_get_size(const struct cma *cma) in cma_get_size() argument 48 return cma->count << PAGE_SHIFT; in cma_get_size() [all …]
|
| H A D | cma_sysfs.c | 3 * CMA SysFS Interface 8 #include <linux/cma.h> 12 #include "cma.h" 17 void cma_sysfs_account_success_pages(struct cma *cma, unsigned long nr_pages) in cma_sysfs_account_success_pages() argument 19 atomic64_add(nr_pages, &cma->nr_pages_succeeded); in cma_sysfs_account_success_pages() 22 void cma_sysfs_account_fail_pages(struct cma *cma, unsigned long nr_pages) in cma_sysfs_account_fail_pages() argument 24 atomic64_add(nr_pages, &cma->nr_pages_failed); in cma_sysfs_account_fail_pages() 27 void cma_sysfs_account_release_pages(struct cma *cma, unsigned long nr_pages) in cma_sysfs_account_release_pages() argument 29 atomic64_add(nr_pages, &cma->nr_pages_released); in cma_sysfs_account_release_pages() 32 static inline struct cma *cma_from_kobj(struct kobject *kobj) in cma_from_kobj() [all …]
|
| H A D | cma.h | 10 struct cma *cma; member 39 struct cma { struct 53 /* the number of CMA page successful allocations */ 55 /* the number of CMA page allocation failures */ 57 /* the number of CMA page released */ 74 extern struct cma cma_areas[MAX_CMA_AREAS]; argument 77 static inline unsigned long cma_bitmap_maxno(struct cma *cma, in cma_bitmap_maxno() argument 80 return cmr->count >> cma->order_per_bit; in cma_bitmap_maxno() 84 void cma_sysfs_account_success_pages(struct cma *cma, unsigned long nr_pages); 85 void cma_sysfs_account_fail_pages(struct cma *cma, unsigned long nr_pages); [all …]
|
| H A D | hugetlb_cma.c | 4 #include <linux/cma.h> 16 static struct cma *hugetlb_cma[MAX_NUMNODES] __ro_after_init; 62 struct cma *cma; in hugetlb_cma_alloc_bootmem() local 66 cma = hugetlb_cma[*nid]; in hugetlb_cma_alloc_bootmem() 67 m = cma_reserve_early(cma, huge_page_size(h)); in hugetlb_cma_alloc_bootmem() 73 cma = hugetlb_cma[node]; in hugetlb_cma_alloc_bootmem() 74 if (!cma || node == *nid) in hugetlb_cma_alloc_bootmem() 76 m = cma_reserve_early(cma, huge_page_size(h)); in hugetlb_cma_alloc_bootmem() 86 m->cma = cma; in hugetlb_cma_alloc_bootmem() 159 * HugeTLB CMA reservation is required for gigantic in hugetlb_cma_reserve() [all …]
|
| /linux/Documentation/driver-api/cxl/allocation/ |
| H A D | hugepages.rst | 9 CXL Memory onlined as SystemRAM during early boot is eligible for use by CMA, 10 as the NUMA node hosting that capacity will be `Online` at the time CMA 14 capacity allocated by CMA - as the NUMA node hosting the capacity is `Offline` 15 at :code:`__init` time - when CMA carves out contiguous capacity.
|
| /linux/kernel/dma/ |
| H A D | pool.c | 6 #include <linux/cma.h> 60 struct cma *cma; in cma_in_zone() local 62 cma = dev_get_cma_area(NULL); in cma_in_zone() 63 if (!cma) in cma_in_zone() 66 size = cma_get_size(cma); in cma_in_zone() 70 /* CMA can't cross zone boundaries, see cma_activate_area() */ in cma_in_zone() 71 end = cma_get_base(cma) + size - 1; in cma_in_zone()
|
| /linux/arch/xtensa/boot/dts/ |
| H A D | kc705.dts | 22 linux,cma { 28 linux,cma-default;
|
| /linux/Documentation/devicetree/bindings/media/ |
| H A D | nuvoton,npcm-vcd.yaml | 46 CMA pool to use for buffers allocation instead of the default CMA pool.
|
| H A D | allwinner,sun4i-a10-video-engine.yaml | 63 CMA pool to use for buffers allocation instead of the default 64 CMA pool.
|
| /linux/Documentation/ABI/testing/ |
| H A D | sysfs-kernel-kexec-kdump | 58 the Contiguous Memory Allocator (CMA) area that are allocated 60 addresses of CMA regions assigned for crashkernel use.
|
| /linux/arch/loongarch/boot/dts/ |
| H A D | loongson-2k2000-ref.dts | 33 linux,cma { 37 linux,cma-default;
|
| /linux/include/linux/ |
| H A D | kexec.h | 181 * @cma: CMA page if the buffer is backed by CMA. 194 struct page *cma; member
|
| /linux/arch/arm64/boot/dts/freescale/ |
| H A D | imx91-tqma9131.dtsi | 26 /* default CMA, must not exceed assembled memory */ 27 linux,cma { 32 linux,cma-default;
|
| H A D | tqma8xx.dtsi | 37 linux,cma { 42 linux,cma-default;
|
| H A D | imx91-phycore-som.dtsi | 27 linux,cma { 32 linux,cma-default;
|
| H A D | imx93-tqma9352.dtsi | 25 linux,cma { 30 linux,cma-default;
|
| /linux/Documentation/ABI/obsolete/ |
| H A D | sysfs-kernel-kexec-kdump | 68 the Contiguous Memory Allocator (CMA) area that are allocated 70 addresses of CMA regions assigned for crashkernel use.
|
| /linux/arch/arm/boot/dts/nxp/imx/ |
| H A D | imx6ul-ccimx6ulsom.dtsi | 20 linux,cma { 24 linux,cma-default;
|
| /linux/drivers/gpu/drm/etnaviv/ |
| H A D | Kconfig | 12 select CMA if HAVE_DMA_CONTIGUOUS
|
| /linux/drivers/gpu/drm/ingenic/ |
| H A D | Kconfig | 5 depends on CMA
|
| /linux/drivers/s390/char/ |
| H A D | vmcp.c | 22 #include <linux/cma.h> 41 static struct cma *vmcp_cma;
|
| /linux/Documentation/features/io/dma-contiguous/ |
| H A D | arch-support.txt | 4 # description: arch supports the DMA CMA (continuous memory allocator)
|
| /linux/arch/arm/boot/dts/broadcom/ |
| H A D | bcm283x.dtsi | 38 cma: linux,cma { label 42 linux,cma-default;
|
| /linux/Documentation/arch/arm/omap/ |
| H A D | dss.rst | 298 allocator, and if CMA is enabled, you use "cma=" kernel parameter to increase 299 the global memory area for CMA.
|