Home
last modified time | relevance | path

Searched refs:cma (Results 1 – 25 of 47) sorted by relevance

12

/linux/mm/
H A Dcma.c38 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 Dcma_debug.c36 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 Dcma.h11 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 Dhugetlb_cma.c20 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 Dinternal.h889 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 Dcontiguous.c55 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 Dpool.c66 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 DKconfig187 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 Ddma-map-ops.h13 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 Dkc705.dts22 linux,cma {
28 linux,cma-default;
/linux/arch/s390/mm/
H A Dinit.c236 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 Dloongson-2k2000-ref.dts33 linux,cma {
37 linux,cma-default;
/linux/arch/arm/boot/dts/nxp/imx/
H A Dimx6ul-ccimx6ulsom.dtsi20 linux,cma {
24 linux,cma-default;
/linux/arch/arm64/boot/dts/freescale/
H A Dtqma8xx.dtsi37 linux,cma {
42 linux,cma-default;
H A Dimx93-tqma9352.dtsi25 linux,cma {
30 linux,cma-default;
H A Dimx8mq-tqma8mq.dtsi52 linux,cma {
59 linux,cma-default;
H A Dimx95-phycore-fpsc.dtsi55 linux,cma {
60 linux,cma-default;
H A Dimx95-19x19-verdin-evk.dts61 linux_cma: linux,cma {
65 linux,cma-default;
/linux/arch/arm/boot/dts/broadcom/
H A Dbcm283x.dtsi38 cma: linux,cma { label
42 linux,cma-default;
/linux/include/trace/events/
H A Dcma.h3 #define TRACE_SYSTEM cma
/linux/drivers/gpu/drm/nouveau/nvkm/subdev/pci/
H A Dagp.c135 pci->agp.cma = info.cant_use_aperture; in nvkm_agp_ctor()
/linux/drivers/s390/char/
H A Dvmcp.c41 static struct cma *vmcp_cma;
/linux/arch/powerpc/kvm/
H A Dbook3s_64_mmu_hv.c75 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 Dmeson-gxl-s905w-jethome-jethub-j80.dts23 linux,cma {
/linux/arch/arm64/boot/dts/hisilicon/
H A Dhi6220-hikey.dts63 linux,cma {
67 linux,cma-default;

12