Lines Matching refs:drm_mm_node
53 static struct drm_mm_node *drm_mm_kmalloc(struct drm_mm *mm, int atomic)
55 struct drm_mm_node *child;
69 struct drm_mm_node, node_list);
78 /* drm_mm_pre_get() - pre allocate drm_mm_node structure
85 struct drm_mm_node *node;
105 static void drm_mm_insert_helper(struct drm_mm_node *hole_node,
106 struct drm_mm_node *node,
150 struct drm_mm_node *drm_mm_create_block(struct drm_mm *mm,
155 struct drm_mm_node *hole, *node;
194 struct drm_mm_node *drm_mm_get_block_generic(struct drm_mm_node *hole_node,
200 struct drm_mm_node *node;
216 int drm_mm_insert_node_generic(struct drm_mm *mm, struct drm_mm_node *node,
220 struct drm_mm_node *hole_node;
231 int drm_mm_insert_node(struct drm_mm *mm, struct drm_mm_node *node,
237 static void drm_mm_insert_helper_range(struct drm_mm_node *hole_node,
238 struct drm_mm_node *node,
289 struct drm_mm_node *drm_mm_get_block_range_generic(struct drm_mm_node *hole_node,
297 struct drm_mm_node *node;
314 int drm_mm_insert_node_in_range_generic(struct drm_mm *mm, struct drm_mm_node *node,
318 struct drm_mm_node *hole_node;
332 int drm_mm_insert_node_in_range(struct drm_mm *mm, struct drm_mm_node *node,
342 void drm_mm_remove_node(struct drm_mm_node *node)
345 struct drm_mm_node *prev_node;
351 list_entry(node->node_list.prev, struct drm_mm_node, node_list);
375 * drm_mm_node. Only to be used on a struct drm_mm_node obtained by one of the
378 void drm_mm_put_block(struct drm_mm_node *node)
390 kfree(node, sizeof(struct drm_mm_node));
409 struct drm_mm_node *drm_mm_search_free_generic(const struct drm_mm *mm,
415 struct drm_mm_node *entry;
416 struct drm_mm_node *best;
448 struct drm_mm_node *drm_mm_search_free_in_range_generic(const struct drm_mm *mm,
456 struct drm_mm_node *entry;
457 struct drm_mm_node *best;
495 * Moves an allocation. To be used with embedded struct drm_mm_node.
497 void drm_mm_replace_node(struct drm_mm_node *old, struct drm_mm_node *new)
569 int drm_mm_scan_add_block(struct drm_mm_node *node)
572 struct drm_mm_node *prev_node;
581 prev_node = list_entry(node->node_list.prev, struct drm_mm_node,
629 int drm_mm_scan_remove_block(struct drm_mm_node *node)
632 struct drm_mm_node *prev_node;
639 prev_node = list_entry(node->node_list.prev, struct drm_mm_node,
684 struct drm_mm_node *entry, *next;
692 list_for_each_entry_safe(entry, next, struct drm_mm_node, &mm->unused_nodes, node_list) {
694 kfree(entry, sizeof(struct drm_mm_node));
702 static unsigned long drm_mm_debug_hole(struct drm_mm_node *entry,
722 struct drm_mm_node *entry;
727 drm_mm_for_each_node(entry, struct drm_mm_node, mm) {
745 unsigned long __drm_mm_hole_node_start(struct drm_mm_node *hole_node)
750 unsigned long drm_mm_hole_node_start(struct drm_mm_node *hole_node)
756 unsigned long __drm_mm_hole_node_end(struct drm_mm_node *hole_node)
758 struct drm_mm_node *node;
760 struct drm_mm_node, node_list);
764 unsigned long drm_mm_hole_node_end(struct drm_mm_node *hole_node)
769 struct drm_mm_node *drm_mm_get_block(struct drm_mm_node *parent,
775 struct drm_mm_node *drm_mm_get_block_atomic(struct drm_mm_node *parent,
781 struct drm_mm_node *drm_mm_get_block_range(
782 struct drm_mm_node *parent,
791 struct drm_mm_node *drm_mm_get_block_atomic_range(
792 struct drm_mm_node *parent,
802 struct drm_mm_node *drm_mm_search_free(const struct drm_mm *mm,
809 struct drm_mm_node *drm_mm_search_free_in_range(