Home
last modified time | relevance | path

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

12

/Linux-v5.4/mm/
Dcma.c39 struct cma cma_areas[MAX_CMA_AREAS];
43 phys_addr_t cma_get_base(const struct cma *cma) in cma_get_base() argument
45 return PFN_PHYS(cma->base_pfn); in cma_get_base()
48 unsigned long cma_get_size(const struct cma *cma) in cma_get_size() argument
50 return cma->count << PAGE_SHIFT; in cma_get_size()
53 const char *cma_get_name(const struct cma *cma) in cma_get_name() argument
55 return cma->name ? cma->name : "(undefined)"; 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()
63 return (1UL << (align_order - cma->order_per_bit)) - 1; in cma_bitmap_aligned_mask()
[all …]
Dcma_debug.c36 struct cma *cma = data; in cma_used_get() local
39 mutex_lock(&cma->lock); in cma_used_get()
41 used = bitmap_weight(cma->bitmap, (int)cma_bitmap_maxno(cma)); in cma_used_get()
42 mutex_unlock(&cma->lock); in cma_used_get()
43 *val = (u64)used << cma->order_per_bit; in cma_used_get()
51 struct cma *cma = data; in cma_maxchunk_get() local
54 unsigned long bitmap_maxno = cma_bitmap_maxno(cma); in cma_maxchunk_get()
56 mutex_lock(&cma->lock); in cma_maxchunk_get()
58 start = find_next_zero_bit(cma->bitmap, bitmap_maxno, end); in cma_maxchunk_get()
61 end = find_next_bit(cma->bitmap, bitmap_maxno, start); in cma_maxchunk_get()
[all …]
Dcma.h5 struct cma { struct
18 extern struct cma cma_areas[MAX_CMA_AREAS]; argument
21 static inline unsigned long cma_bitmap_maxno(struct cma *cma) in cma_bitmap_maxno() argument
23 return cma->count >> cma->order_per_bit; in cma_bitmap_maxno()
DMakefile97 obj-$(CONFIG_CMA) += cma.o
/Linux-v5.4/include/linux/
Dcma.h20 struct cma;
23 extern phys_addr_t cma_get_base(const struct cma *cma);
24 extern unsigned long cma_get_size(const struct cma *cma);
25 extern const char *cma_get_name(const struct cma *cma);
30 bool fixed, const char *name, struct cma **res_cma);
34 struct cma **res_cma);
35 extern struct page *cma_alloc(struct cma *cma, size_t count, unsigned int align,
37 extern bool cma_release(struct cma *cma, const struct page *pages, unsigned int count);
39 extern int cma_for_each_area(int (*it)(struct cma *cma, void *data), void *data);
Ddma-contiguous.h55 struct cma;
60 extern struct cma *dma_contiguous_default_area;
62 static inline struct cma *dev_get_cma_area(struct device *dev) in dev_get_cma_area()
69 static inline void dev_set_cma_area(struct device *dev, struct cma *cma) in dev_set_cma_area() argument
72 dev->cma_area = cma; in dev_set_cma_area()
75 static inline void dma_contiguous_set_default(struct cma *cma) in dma_contiguous_set_default() argument
77 dma_contiguous_default_area = cma; in dma_contiguous_set_default()
83 phys_addr_t limit, struct cma **res_cma,
102 struct cma *cma; in dma_declare_contiguous() local
104 ret = dma_contiguous_reserve_area(size, base, limit, &cma, true); in dma_declare_contiguous()
[all …]
/Linux-v5.4/drivers/staging/android/ion/
Dion_cma_heap.c21 struct cma *cma; member
42 pages = cma_alloc(cma_heap->cma, nr_pages, align, false); in ion_cma_allocate()
79 cma_release(cma_heap->cma, pages, nr_pages); in ion_cma_allocate()
90 cma_release(cma_heap->cma, pages, nr_pages); in ion_cma_free()
104 static struct ion_heap *__ion_cma_heap_create(struct cma *cma) in __ion_cma_heap_create() argument
114 cma_heap->cma = cma; in __ion_cma_heap_create()
119 static int __ion_add_cma_heaps(struct cma *cma, void *data) in __ion_add_cma_heaps() argument
123 heap = __ion_cma_heap_create(cma); in __ion_add_cma_heaps()
127 heap->name = cma_get_name(cma); in __ion_add_cma_heaps()
/Linux-v5.4/kernel/dma/
Dcontiguous.c33 struct cma *dma_contiguous_default_area;
163 phys_addr_t limit, struct cma **res_cma, in dma_contiguous_reserve_area()
235 struct cma *cma = NULL; in dma_alloc_contiguous() local
238 cma = dev->cma_area; in dma_alloc_contiguous()
240 cma = dma_contiguous_default_area; in dma_alloc_contiguous()
243 if (cma && gfpflags_allow_blocking(gfp)) { in dma_alloc_contiguous()
247 page = cma_alloc(cma, count, cma_align, gfp & __GFP_NOWARN); in dma_alloc_contiguous()
304 struct cma *cma; in rmem_cma_setup() local
316 err = cma_init_reserved_mem(rmem->base, rmem->size, 0, rmem->name, &cma); in rmem_cma_setup()
325 dma_contiguous_set_default(cma); in rmem_cma_setup()
[all …]
DKconfig88 You can disable CMA by specifying "cma=0" on the kernel's command
105 default, but it can be enabled by passing cma=size[MG] to the kernel.
117 enabled by passing cma=size[MG] to the kernel.
/Linux-v5.4/Documentation/admin-guide/mm/
Dcma_debugfs.rst8 Each CMA zone represents a directory under <debugfs>/cma/, indexed by the
11 <debugfs>/cma/cma-0
21 echo 5 > <debugfs>/cma/cma-2/alloc
23 would try to allocate 5 pages from the cma-2 area.
/Linux-v5.4/arch/s390/mm/
Dinit.c227 static int s390_cma_check_range(struct cma *cma, void *data) in s390_cma_check_range() argument
233 start = cma_get_base(cma); in s390_cma_check_range()
234 end = start + cma_get_size(cma); in s390_cma_check_range()
/Linux-v5.4/arch/xtensa/boot/dts/
Dkc705.dts22 linux,cma {
28 linux,cma-default;
/Linux-v5.4/Documentation/devicetree/bindings/reserved-memory/
Dreserved-memory.txt68 - If a "linux,cma-default" property is present, then Linux will use the
84 one default of all device drivers (named linux,cma@72000000 and 64MiB in size),
102 linux,cma {
107 linux,cma-default;
/Linux-v5.4/include/trace/events/
Dcma.h3 #define TRACE_SYSTEM cma
/Linux-v5.4/drivers/gpu/drm/nouveau/include/nvkm/subdev/
Dpci.h24 bool cma; member
/Linux-v5.4/arch/arm/boot/dts/
Dimx6ul-ccimx6ulsom.dtsi20 linux,cma {
24 linux,cma-default;
/Linux-v5.4/drivers/infiniband/core/
DMakefile23 rdma_cm-y := cma.o
/Linux-v5.4/drivers/gpu/drm/nouveau/
Dnouveau_ttm.c233 drm->agp.cma = pci->agp.cma; in nouveau_ttm_init()
Dnouveau_drv.h145 bool cma; member
/Linux-v5.4/Documentation/devicetree/bindings/media/
Dcedrus.txt42 linux,cma-default;
/Linux-v5.4/arch/arm/mach-shmobile/
Dsetup-rcar-gen2.c188 static struct cma *rcar_gen2_dma_contiguous; in rcar_gen2_reserve()
/Linux-v5.4/drivers/gpu/drm/nouveau/nvkm/subdev/pci/
Dagp.c135 pci->agp.cma = info.cant_use_aperture; in nvkm_agp_ctor()
/Linux-v5.4/drivers/s390/char/
Dvmcp.c42 static struct cma *vmcp_cma;
/Linux-v5.4/arch/powerpc/kvm/
Dbook3s_64_mmu_hv.c73 int cma = 0; in kvmppc_allocate_hpt() local
85 cma = 1; in kvmppc_allocate_hpt()
101 if (cma) in kvmppc_allocate_hpt()
110 info->cma = cma; in kvmppc_allocate_hpt()
183 if (info->cma) in kvmppc_free_hpt()
/Linux-v5.4/arch/arm64/boot/dts/hisilicon/
Dhi6220-hikey.dts63 linux,cma {
67 linux,cma-default;

12