Searched refs:heap (Results 1 - 14 of 14) sorted by relevance

/drivers/gpu/ion/
H A Dion_heap.c23 struct ion_heap *heap = NULL; local
27 heap = ion_system_contig_heap_create(heap_data);
30 heap = ion_system_heap_create(heap_data);
33 heap = ion_carveout_heap_create(heap_data);
36 pr_err("%s: Invalid heap type %d\n", __func__,
41 if (IS_ERR_OR_NULL(heap)) {
42 pr_err("%s: error creating heap %s type %d base %lu size %u\n",
48 heap->name = heap_data->name;
49 heap->id = heap_data->id;
50 return heap;
53 ion_heap_destroy(struct ion_heap *heap) argument
[all...]
H A Dion_system_heap.c25 static int ion_system_heap_allocate(struct ion_heap *heap, argument
41 struct scatterlist *ion_system_heap_map_dma(struct ion_heap *heap, argument
69 void ion_system_heap_unmap_dma(struct ion_heap *heap, argument
77 void *ion_system_heap_map_kernel(struct ion_heap *heap, argument
83 void ion_system_heap_unmap_kernel(struct ion_heap *heap, argument
88 int ion_system_heap_map_user(struct ion_heap *heap, struct ion_buffer *buffer, argument
106 struct ion_heap *heap; local
108 heap = kzalloc(sizeof(struct ion_heap), GFP_KERNEL);
109 if (!heap)
111 heap
116 ion_system_heap_destroy(struct ion_heap *heap) argument
121 ion_system_contig_heap_allocate(struct ion_heap *heap, struct ion_buffer *buffer, unsigned long len, unsigned long align, unsigned long flags) argument
138 ion_system_contig_heap_phys(struct ion_heap *heap, struct ion_buffer *buffer, ion_phys_addr_t *addr, size_t *len) argument
147 ion_system_contig_heap_map_dma(struct ion_heap *heap, struct ion_buffer *buffer) argument
160 ion_system_contig_heap_map_user(struct ion_heap *heap, struct ion_buffer *buffer, struct vm_area_struct *vma) argument
184 struct ion_heap *heap; local
194 ion_system_contig_heap_destroy(struct ion_heap *heap) argument
[all...]
H A Dion_carveout_heap.c31 struct ion_heap heap; member in struct:ion_carveout_heap
36 ion_phys_addr_t ion_carveout_allocate(struct ion_heap *heap, argument
41 container_of(heap, struct ion_carveout_heap, heap);
50 void ion_carveout_free(struct ion_heap *heap, ion_phys_addr_t addr, argument
54 container_of(heap, struct ion_carveout_heap, heap);
61 static int ion_carveout_heap_phys(struct ion_heap *heap, argument
70 static int ion_carveout_heap_allocate(struct ion_heap *heap, argument
75 buffer->priv_phys = ion_carveout_allocate(heap, siz
81 struct ion_heap *heap = buffer->heap; local
87 ion_carveout_heap_map_dma(struct ion_heap *heap, struct ion_buffer *buffer) argument
93 ion_carveout_heap_unmap_dma(struct ion_heap *heap, struct ion_buffer *buffer) argument
99 ion_carveout_heap_map_kernel(struct ion_heap *heap, struct ion_buffer *buffer) argument
106 ion_carveout_heap_unmap_kernel(struct ion_heap *heap, struct ion_buffer *buffer) argument
114 ion_carveout_heap_map_user(struct ion_heap *heap, struct ion_buffer *buffer, struct vm_area_struct *vma) argument
154 ion_carveout_heap_destroy(struct ion_heap *heap) argument
[all...]
H A Dion_priv.h45 * @heap: back pointer to the heap the buffer came from
62 struct ion_heap *heap; member in struct:ion_buffer
77 * struct ion_heap_ops - ops to operate on a given heap
89 int (*allocate) (struct ion_heap *heap,
93 int (*phys) (struct ion_heap *heap, struct ion_buffer *buffer,
95 struct scatterlist *(*map_dma) (struct ion_heap *heap,
97 void (*unmap_dma) (struct ion_heap *heap, struct ion_buffer *buffer);
98 void * (*map_kernel) (struct ion_heap *heap, struct ion_buffer *buffer);
99 void (*unmap_kernel) (struct ion_heap *heap, struc
[all...]
H A Dion_system_mapper.c25 * This mapper is valid for any heap that allocates memory that already has
33 if (!((1 << buffer->heap->type) & mapper->heap_mask)) {
34 pr_err("%s: attempting to map an unsupported heap\n", __func__);
46 if (!((1 << buffer->heap->type) & mapper->heap_mask))
47 pr_err("%s: attempting to unmap an unsupported heap\n",
55 if (!((1 << buffer->heap->type) & mapper->heap_mask)) {
56 pr_err("%s: attempting to unmap an unsupported heap\n",
70 switch (buffer->heap->type) {
83 pr_err("%s: attempting to map unsupported heap to userspace\n",
H A Dion.c135 static struct ion_buffer *ion_buffer_create(struct ion_heap *heap, argument
148 buffer->heap = heap;
151 ret = heap->ops->allocate(heap, buffer, len, align, flags);
168 buffer->heap->ops->free(buffer);
294 * order. If the heap type is supported by the client, and matches the
300 struct ion_heap *heap = rb_entry(n, struct ion_heap, node); local
301 /* if the client doesn't support this heap type */
302 if (!((1 << heap
1074 struct ion_heap *heap = s->private; local
1116 ion_device_add_heap(struct ion_device *dev, struct ion_heap *heap) argument
[all...]
/drivers/gpu/drm/radeon/
H A Dradeon_mem.c83 static struct mem_block *alloc_block(struct mem_block *heap, int size, argument
89 list_for_each(p, heap) {
98 static struct mem_block *find_block(struct mem_block *heap, int start) argument
102 list_for_each(p, heap)
114 * 'heap' to stop it being subsumed.
133 /* Initialize. How to check for an uninitialized heap?
135 static int init_heap(struct mem_block **heap, int start, int size) argument
142 *heap = kzalloc(sizeof(**heap), GFP_KERNEL);
143 if (!*heap) {
160 radeon_mem_release(struct drm_file *file_priv, struct mem_block *heap) argument
188 radeon_mem_takedown(struct mem_block **heap) argument
223 struct mem_block *block, **heap; local
258 struct mem_block *block, **heap; local
284 struct mem_block **heap; local
[all...]
H A Dradeon_drv.h163 struct drm_file *file_priv; /* NULL: free, -1: heap, other: real files */
385 extern void radeon_mem_takedown(struct mem_block **heap);
387 struct mem_block *heap);
/drivers/gpu/drm/i915/
H A Di915_mem.c134 static struct mem_block *alloc_block(struct mem_block *heap, int size, argument
140 for (p = heap->next; p != heap; p = p->next) {
149 static struct mem_block *find_block(struct mem_block *heap, int start) argument
153 for (p = heap->next; p != heap; p = p->next)
165 * 'heap' to stop it being subsumed.
184 /* Initialize. How to check for an uninitialized heap?
186 static int init_heap(struct mem_block **heap, int start, int size) argument
193 *heap
212 i915_mem_release(struct drm_device * dev, struct drm_file *file_priv, struct mem_block *heap) argument
243 i915_mem_takedown(struct mem_block **heap) argument
277 struct mem_block *block, **heap; local
315 struct mem_block *block, **heap; local
343 struct mem_block **heap; local
367 struct mem_block **heap; local
[all...]
H A Di915_drv.h74 * 1.4: Fix cmdbuffer path, add heap destroy
103 struct drm_file *file_priv; /* NULL: free, -1: heap, other: real files */
1091 extern void i915_mem_takedown(struct mem_block **heap);
1093 struct drm_file *file_priv, struct mem_block *heap);
/drivers/gpu/drm/nouveau/
H A Dnouveau_mm.c157 struct nouveau_mm_node *node, *heap = local
173 kfree(heap);
H A Dnouveau_fence.c284 ret = drm_mm_pre_get(&dev_priv->fence.heap);
289 sema->mem = drm_mm_search_free(&dev_priv->fence.heap, size, 0, 0);
574 /* Create a shared VRAM heap for cross-channel sync. */
589 ret = drm_mm_init(&dev_priv->fence.heap, 0,
610 drm_mm_takedown(&dev_priv->fence.heap);
H A Dnouveau_drv.h274 struct drm_mm ramin_heap; /* Private PRAMIN heap */
722 struct drm_mm heap; member in struct:drm_nouveau_private::__anon576
/drivers/staging/tidspbridge/
H A DKconfig58 This can lead to heap corruption. Say Y, to enforce the check for 128

Completed in 248 milliseconds