Lines Matching refs:mem
72 static void cma_add_to_cma_mem_list(struct cma *cma, struct cma_mem *mem) in cma_add_to_cma_mem_list() argument
75 hlist_add_head(&mem->node, &cma->mem_head); in cma_add_to_cma_mem_list()
81 struct cma_mem *mem = NULL; in cma_get_entry_from_list() local
85 mem = hlist_entry(cma->mem_head.first, struct cma_mem, node); in cma_get_entry_from_list()
86 hlist_del_init(&mem->node); in cma_get_entry_from_list()
90 return mem; in cma_get_entry_from_list()
95 struct cma_mem *mem = NULL; in cma_free_mem() local
98 mem = cma_get_entry_from_list(cma); in cma_free_mem()
99 if (mem == NULL) in cma_free_mem()
102 if (mem->n <= count) { in cma_free_mem()
103 cma_release(cma, mem->p, mem->n); in cma_free_mem()
104 count -= mem->n; in cma_free_mem()
105 kfree(mem); in cma_free_mem()
107 cma_release(cma, mem->p, count); in cma_free_mem()
108 mem->p += count; in cma_free_mem()
109 mem->n -= count; in cma_free_mem()
111 cma_add_to_cma_mem_list(cma, mem); in cma_free_mem()
114 cma_add_to_cma_mem_list(cma, mem); in cma_free_mem()
134 struct cma_mem *mem; in cma_alloc_mem() local
137 mem = kzalloc(sizeof(*mem), GFP_KERNEL); in cma_alloc_mem()
138 if (!mem) in cma_alloc_mem()
143 kfree(mem); in cma_alloc_mem()
147 mem->p = p; in cma_alloc_mem()
148 mem->n = count; in cma_alloc_mem()
150 cma_add_to_cma_mem_list(cma, mem); in cma_alloc_mem()