Lines Matching full:cma
3 * DMABUF CMA heap exporter
16 #include <linux/cma.h>
29 #include "../../../mm/cma.h"
34 struct cma *cma; member
400 cma_release(cma_heap->cma, buffer->cma_pages, buffer->pagecount); in rk_cma_heap_dma_buf_release()
450 cma_pages = cma_alloc(cma_heap->cma, pagecount, align, GFP_KERNEL); in rk_cma_heap_allocate()
454 /* Clear the cma pages */ in rk_cma_heap_allocate()
521 cma_release(cma_heap->cma, cma_pages, pagecount); in rk_cma_heap_allocate()
541 page = cma_alloc(cma_heap->cma, pagecount, align, GFP_KERNEL); in rk_cma_heap_allocate_pages()
547 cma_release(cma_heap->cma, page, pagecount); in rk_cma_heap_allocate_pages()
565 cma_release(cma_heap->cma, page, pagecount); in rk_cma_heap_free_pages()
578 static int __rk_add_cma_heap(struct cma *cma, void *data) in __rk_add_cma_heap() argument
586 cma_heap->cma = cma; in __rk_add_cma_heap()
588 exp_info.name = cma_get_name(cma); in __rk_add_cma_heap()
603 cma_procfs_show, cma); in __rk_add_cma_heap()
610 struct cma *cma = rk_dma_heap_get_cma(); in rk_add_default_cma_heap() local
612 if (WARN_ON(!cma)) in rk_add_default_cma_heap()
615 return __rk_add_cma_heap(cma, NULL); in rk_add_default_cma_heap()
638 static void cma_procfs_show_bitmap(struct seq_file *s, struct cma *cma) in cma_procfs_show_bitmap() argument
640 int elements = DIV_ROUND_UP(cma_bitmap_maxno(cma), BITS_PER_BYTE * sizeof(u32)); in cma_procfs_show_bitmap()
642 u32 *array = (u32 *)cma->bitmap; in cma_procfs_show_bitmap()
656 static u64 cma_procfs_used_get(struct cma *cma) in cma_procfs_used_get() argument
660 mutex_lock(&cma->lock); in cma_procfs_used_get()
661 used = bitmap_weight(cma->bitmap, (int)cma_bitmap_maxno(cma)); in cma_procfs_used_get()
662 mutex_unlock(&cma->lock); in cma_procfs_used_get()
664 return (u64)used << cma->order_per_bit; in cma_procfs_used_get()
669 struct cma *cma = s->private; in cma_procfs_show() local
670 u64 used = cma_procfs_used_get(cma); in cma_procfs_show()
672 seq_printf(s, "Total: %lu KiB\n", cma->count << (PAGE_SHIFT - 10)); in cma_procfs_show()
675 cma_procfs_show_bitmap(s, cma); in cma_procfs_show()
680 MODULE_DESCRIPTION("RockChip DMA-BUF CMA Heap");