| /linux/mm/ |
| H A D | cma.c | 38 struct cma cma_areas[MAX_CMA_AREAS]; 41 phys_addr_t cma_get_base(const struct cma *cma) in cma_get_base() argument 43 WARN_ON_ONCE(cma->nranges != 1); in cma_get_base() 44 return PFN_PHYS(cma->ranges[0].base_pfn); in cma_get_base() 47 unsigned long cma_get_size(const struct cma *cma) in cma_get_size() argument 49 return cma->count << PAGE_SHIFT; in cma_get_size() 52 const char *cma_get_name(const struct cma *cma) in cma_get_name() argument 54 return cma->name; in cma_get_name() 58 static unsigned long cma_bitmap_aligned_mask(const struct cma *cma, in cma_bitmap_aligned_mask() argument 61 if (align_order <= cma->order_per_bit) in cma_bitmap_aligned_mask() [all …]
|
| H A D | cma_debug.c | 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() 57 cmr = &cma->ranges[r]; in cma_maxchunk_get() 58 bitmap_maxno = cma_bitmap_maxno(cma, cmr); in cma_maxchunk_get() 62 spin_unlock_irq(&cma->lock); in cma_maxchunk_get() [all …]
|
| H A D | cma.h | 11 struct cma *cma; member 40 struct cma { struct 75 extern struct cma cma_areas[MAX_CMA_AREAS]; argument 78 static inline unsigned long cma_bitmap_maxno(struct cma *cma, in cma_bitmap_maxno() argument 81 return cmr->count >> cma->order_per_bit; in cma_bitmap_maxno() 85 void cma_sysfs_account_success_pages(struct cma *cma, unsigned long nr_pages); 86 void cma_sysfs_account_fail_pages(struct cma *cma, unsigned long nr_pages); 87 void cma_sysfs_account_release_pages(struct cma *cma, unsigned long nr_pages); 89 static inline void cma_sysfs_account_success_pages(struct cma *cma, in cma_sysfs_account_success_pages() argument 91 static inline void cma_sysfs_account_fail_pages(struct cma *cma, in cma_sysfs_account_fail_pages() argument [all …]
|
| H A D | hugetlb_cma.c | 20 static struct cma *hugetlb_cma[MAX_NUMNODES] __ro_after_init; 101 struct cma *cma; in hugetlb_cma_alloc_bootmem() local 105 cma = hugetlb_cma[nid]; in hugetlb_cma_alloc_bootmem() 106 m = cma_reserve_early(cma, huge_page_size(h)); in hugetlb_cma_alloc_bootmem() 111 cma = hugetlb_cma[node]; in hugetlb_cma_alloc_bootmem() 112 if (!cma || node == nid) in hugetlb_cma_alloc_bootmem() 114 m = cma_reserve_early(cma, huge_page_size(h)); in hugetlb_cma_alloc_bootmem()
|
| H A D | internal.h | 889 struct cma; 892 bool cma_validate_zones(struct cma *cma); 893 void *cma_reserve_early(struct cma *cma, unsigned long size); 895 static inline bool cma_validate_zones(struct cma *cma) in cma_validate_zones() argument 899 static inline void *cma_reserve_early(struct cma *cma, unsigned long size) in cma_reserve_early() argument
|
| /linux/kernel/dma/ |
| H A D | contiguous.c | 55 static struct cma *dma_contiguous_areas[MAX_CMA_AREAS]; 58 static int dma_contiguous_insert_area(struct cma *cma) in dma_contiguous_insert_area() argument 63 dma_contiguous_areas[dma_contiguous_areas_num++] = cma; in dma_contiguous_insert_area() 77 struct cma *dma_contiguous_get_area_by_idx(unsigned int idx) in dma_contiguous_get_area_by_idx() 86 static struct cma *dma_contiguous_default_area; 124 struct cma *dev_get_cma_area(struct device *dev) in dev_get_cma_area() 135 static struct cma *dma_contiguous_numa_area[MAX_NUMNODES]; 213 struct cma **cma; in dma_numa_cma_reserve() local 227 cma = &dma_contiguous_numa_area[nid]; in dma_numa_cma_reserve() 229 ret = cma_declare_contiguous_nid(0, size, 0, 0, 0, false, name, cma, nid); in dma_numa_cma_reserve() [all …]
|
| H A D | pool.c | 66 struct cma *cma; in cma_in_zone() local 68 cma = dev_get_cma_area(NULL); in cma_in_zone() 69 if (!cma) in cma_in_zone() 72 size = cma_get_size(cma); in cma_in_zone() 77 end = cma_get_base(cma) + size - 1; in cma_in_zone()
|
| H A D | Kconfig | 187 You can disable CMA by specifying "cma=0" on the kernel's command 228 default, but it can be enabled by passing cma=size[MG] to the kernel. 240 enabled by passing cma=size[MG] to the kernel.
|
| /linux/include/linux/ |
| H A D | dma-map-ops.h | 13 struct cma; 94 struct cma *dev_get_cma_area(struct device *dev); 95 struct cma *dma_contiguous_get_area_by_idx(unsigned int idx); 99 phys_addr_t limit, struct cma **res_cma, bool fixed); 110 static inline struct cma *dev_get_cma_area(struct device *dev) in dev_get_cma_area() 114 static inline struct cma *dma_contiguous_get_area_by_idx(unsigned int idx) in dma_contiguous_get_area_by_idx() 122 phys_addr_t base, phys_addr_t limit, struct cma **res_cma, in dma_contiguous_reserve_area()
|
| /linux/arch/xtensa/boot/dts/ |
| H A D | kc705.dts | 22 linux,cma { 28 linux,cma-default;
|
| /linux/arch/s390/mm/ |
| H A D | init.c | 236 static int s390_cma_check_range(struct cma *cma, void *data) in s390_cma_check_range() argument 242 if (cma_intersects(cma, mem_data->start, mem_data->end)) in s390_cma_check_range()
|
| /linux/arch/loongarch/boot/dts/ |
| H A D | loongson-2k2000-ref.dts | 33 linux,cma { 37 linux,cma-default;
|
| /linux/arch/arm/boot/dts/nxp/imx/ |
| H A D | imx6ul-ccimx6ulsom.dtsi | 20 linux,cma { 24 linux,cma-default;
|
| /linux/arch/arm64/boot/dts/freescale/ |
| H A D | tqma8xx.dtsi | 37 linux,cma { 42 linux,cma-default;
|
| H A D | imx93-tqma9352.dtsi | 25 linux,cma { 30 linux,cma-default;
|
| H A D | imx8mq-tqma8mq.dtsi | 52 linux,cma { 59 linux,cma-default;
|
| H A D | imx95-phycore-fpsc.dtsi | 55 linux,cma { 60 linux,cma-default;
|
| H A D | imx95-19x19-verdin-evk.dts | 61 linux_cma: linux,cma { 65 linux,cma-default;
|
| /linux/arch/arm/boot/dts/broadcom/ |
| H A D | bcm283x.dtsi | 38 cma: linux,cma { label 42 linux,cma-default;
|
| /linux/include/trace/events/ |
| H A D | cma.h | 3 #define TRACE_SYSTEM cma
|
| /linux/drivers/gpu/drm/nouveau/nvkm/subdev/pci/ |
| H A D | agp.c | 135 pci->agp.cma = info.cant_use_aperture; in nvkm_agp_ctor()
|
| /linux/drivers/s390/char/ |
| H A D | vmcp.c | 41 static struct cma *vmcp_cma;
|
| /linux/arch/powerpc/kvm/ |
| H A D | book3s_64_mmu_hv.c | 75 int cma = 0; in kvmppc_allocate_hpt() local 87 cma = 1; in kvmppc_allocate_hpt() 103 if (cma) in kvmppc_allocate_hpt() 112 info->cma = cma; in kvmppc_allocate_hpt() 185 if (info->cma) in kvmppc_free_hpt()
|
| /linux/arch/arm64/boot/dts/amlogic/ |
| H A D | meson-gxl-s905w-jethome-jethub-j80.dts | 23 linux,cma {
|
| /linux/arch/arm64/boot/dts/hisilicon/ |
| H A D | hi6220-hikey.dts | 63 linux,cma { 67 linux,cma-default;
|