Lines Matching refs:hole_node
100 static inline unsigned long drm_mm_hole_node_start(struct drm_mm_node *hole_node) in drm_mm_hole_node_start() argument
102 return hole_node->start + hole_node->size; in drm_mm_hole_node_start()
105 static inline unsigned long drm_mm_hole_node_end(struct drm_mm_node *hole_node) in drm_mm_hole_node_end() argument
108 list_entry(hole_node->node_list.next, struct drm_mm_node, in drm_mm_hole_node_end()
114 static void drm_mm_insert_helper(struct drm_mm_node *hole_node, in drm_mm_insert_helper() argument
119 struct drm_mm *mm = hole_node->mm; in drm_mm_insert_helper()
120 unsigned long hole_start = drm_mm_hole_node_start(hole_node); in drm_mm_insert_helper()
121 unsigned long hole_end = drm_mm_hole_node_end(hole_node); in drm_mm_insert_helper()
125 BUG_ON(!hole_node->hole_follows || node->allocated); in drm_mm_insert_helper()
128 mm->color_adjust(hole_node, color, &adj_start, &adj_end); in drm_mm_insert_helper()
137 hole_node->hole_follows = 0; in drm_mm_insert_helper()
138 list_del(&hole_node->hole_stack); in drm_mm_insert_helper()
148 list_add(&node->node_list, &hole_node->node_list); in drm_mm_insert_helper()
159 struct drm_mm_node *drm_mm_get_block_generic(struct drm_mm_node *hole_node, in drm_mm_get_block_generic() argument
167 node = drm_mm_kmalloc(hole_node->mm, atomic); in drm_mm_get_block_generic()
171 drm_mm_insert_helper(hole_node, node, size, alignment, color); in drm_mm_get_block_generic()
186 struct drm_mm_node *hole_node; in drm_mm_insert_node_generic() local
188 hole_node = drm_mm_search_free_generic(mm, size, alignment, in drm_mm_insert_node_generic()
190 if (!hole_node) in drm_mm_insert_node_generic()
193 drm_mm_insert_helper(hole_node, node, size, alignment, color); in drm_mm_insert_node_generic()
205 static void drm_mm_insert_helper_range(struct drm_mm_node *hole_node, in drm_mm_insert_helper_range() argument
211 struct drm_mm *mm = hole_node->mm; in drm_mm_insert_helper_range()
212 unsigned long hole_start = drm_mm_hole_node_start(hole_node); in drm_mm_insert_helper_range()
213 unsigned long hole_end = drm_mm_hole_node_end(hole_node); in drm_mm_insert_helper_range()
217 BUG_ON(!hole_node->hole_follows || node->allocated); in drm_mm_insert_helper_range()
225 mm->color_adjust(hole_node, color, &adj_start, &adj_end); in drm_mm_insert_helper_range()
234 hole_node->hole_follows = 0; in drm_mm_insert_helper_range()
235 list_del(&hole_node->hole_stack); in drm_mm_insert_helper_range()
245 list_add(&node->node_list, &hole_node->node_list); in drm_mm_insert_helper_range()
257 struct drm_mm_node *drm_mm_get_block_range_generic(struct drm_mm_node *hole_node, in drm_mm_get_block_range_generic() argument
267 node = drm_mm_kmalloc(hole_node->mm, atomic); in drm_mm_get_block_range_generic()
271 drm_mm_insert_helper_range(hole_node, node, size, alignment, color, in drm_mm_get_block_range_generic()
287 struct drm_mm_node *hole_node; in drm_mm_insert_node_in_range_generic() local
289 hole_node = drm_mm_search_free_in_range_generic(mm, in drm_mm_insert_node_in_range_generic()
292 if (!hole_node) in drm_mm_insert_node_in_range_generic()
295 drm_mm_insert_helper_range(hole_node, node, in drm_mm_insert_node_in_range_generic()