Lines Matching refs:node
43 void (*free_node)(int dma_node_fd, struct mem_pool_node *node);
73 struct mem_pool_node *node = NULL; in crypto_alloc_node_drm() local
84 node = malloc(sizeof(*node)); in crypto_alloc_node_drm()
85 if (!node) in crypto_alloc_node_drm()
88 memset(node, 0x00, sizeof(*node)); in crypto_alloc_node_drm()
93 free(node); in crypto_alloc_node_drm()
97 ret = drmPrimeHandleToFD(dma_node_fd, req.handle, 0, &node->mem.dma_fd); in crypto_alloc_node_drm()
111 req.handle, node->mem.dma_fd, size, req.size); in crypto_alloc_node_drm()
114 node->mem.vaddr = mmap64(0, req.size, PROT_READ | PROT_WRITE, MAP_SHARED, in crypto_alloc_node_drm()
117 node->mem.vaddr = mmap(0, req.size, PROT_READ | PROT_WRITE, MAP_SHARED, in crypto_alloc_node_drm()
120 if (node->mem.vaddr == MAP_FAILED) { in crypto_alloc_node_drm()
127 node->handle = req.handle; in crypto_alloc_node_drm()
128 node->flags = req.flags; in crypto_alloc_node_drm()
129 node->mem.size = size; in crypto_alloc_node_drm()
131 return node; in crypto_alloc_node_drm()
135 if (node) in crypto_alloc_node_drm()
136 free(node); in crypto_alloc_node_drm()
141 static void crypto_free_node_drm(int dma_node_fd, struct mem_pool_node *node) in crypto_free_node_drm() argument
147 if (!node || node->mem.size == 0) in crypto_free_node_drm()
152 req.handle = node->handle; in crypto_free_node_drm()
154 if (node->mem.vaddr) in crypto_free_node_drm()
155 munmap(node->mem.vaddr, node->mem.size < min_size ? min_size : node->mem.size); in crypto_free_node_drm()
157 if (node->mem.dma_fd >= 0) in crypto_free_node_drm()
158 close(node->mem.dma_fd); in crypto_free_node_drm()
162 free(node); in crypto_free_node_drm()
186 struct mem_pool_node *node = NULL; in crypto_alloc_node_dma_heap() local
196 node = malloc(sizeof(*node)); in crypto_alloc_node_dma_heap()
197 if (!node) in crypto_alloc_node_dma_heap()
200 memset(node, 0x00, sizeof(*node)); in crypto_alloc_node_dma_heap()
206 free(node); in crypto_alloc_node_dma_heap()
210 node->mem.dma_fd = req.fd; in crypto_alloc_node_dma_heap()
213 node->mem.dma_fd, size, req.len); in crypto_alloc_node_dma_heap()
216 node->mem.vaddr = mmap64(0, req.len, PROT_READ | PROT_WRITE, MAP_SHARED, req.fd, 0); in crypto_alloc_node_dma_heap()
218 node->mem.vaddr = mmap(0, req.len, PROT_READ | PROT_WRITE, MAP_SHARED, req.fd, 0); in crypto_alloc_node_dma_heap()
220 if (node->mem.vaddr == MAP_FAILED) { in crypto_alloc_node_dma_heap()
227 node->flags = req.fd_flags; in crypto_alloc_node_dma_heap()
228 node->mem.size = size; in crypto_alloc_node_dma_heap()
230 return node; in crypto_alloc_node_dma_heap()
234 if (node) in crypto_alloc_node_dma_heap()
235 free(node); in crypto_alloc_node_dma_heap()
240 static void crypto_free_node_dma_heap(int dma_node_fd, struct mem_pool_node *node) in crypto_free_node_dma_heap() argument
246 if (!node || node->mem.size == 0) in crypto_free_node_dma_heap()
249 if (node->mem.vaddr) in crypto_free_node_dma_heap()
250 munmap(node->mem.vaddr, node->mem.size < min_size ? min_size : node->mem.size); in crypto_free_node_dma_heap()
252 if (node->mem.dma_fd >= 0) in crypto_free_node_dma_heap()
253 close(node->mem.dma_fd); in crypto_free_node_dma_heap()
255 free(node); in crypto_free_node_dma_heap()
312 struct mem_pool_node *node; in rk_crypto_mem_deinit() local
325 node = list_entry(pos, struct mem_pool_node, list); in rk_crypto_mem_deinit()
329 cur_mem_pos->free_node(dma_node_fd, node); in rk_crypto_mem_deinit()
340 struct mem_pool_node *node; in rk_crypto_mem_alloc() local
347 node = cur_mem_pos->alloc_node(dma_node_fd, size); in rk_crypto_mem_alloc()
348 if (!node) in rk_crypto_mem_alloc()
351 list_add_tail(&node->list, &mem_pool_list); in rk_crypto_mem_alloc()
355 return &node->mem; in rk_crypto_mem_alloc()
364 struct mem_pool_node *node; in rk_crypto_mem_free() local
376 node = list_entry(pos, struct mem_pool_node, list); in rk_crypto_mem_free()
378 if (&node->mem == memory) { in rk_crypto_mem_free()
380 cur_mem_pos->free_node(dma_node_fd, node); in rk_crypto_mem_free()