Lines Matching refs:hole_node

102 static inline unsigned long drm_mm_hole_node_start(struct drm_mm_node *hole_node)  in drm_mm_hole_node_start()  argument
104 return hole_node->start + hole_node->size; in drm_mm_hole_node_start()
107 static inline unsigned long drm_mm_hole_node_end(struct drm_mm_node *hole_node) in drm_mm_hole_node_end() argument
110 list_entry(hole_node->node_list.next, struct drm_mm_node, in drm_mm_hole_node_end()
116 static void drm_mm_insert_helper(struct drm_mm_node *hole_node, in drm_mm_insert_helper() argument
121 struct drm_mm *mm = hole_node->mm; in drm_mm_insert_helper()
122 unsigned long hole_start = drm_mm_hole_node_start(hole_node); in drm_mm_insert_helper()
123 unsigned long hole_end = drm_mm_hole_node_end(hole_node); in drm_mm_insert_helper()
127 BUG_ON(!hole_node->hole_follows || node->allocated); in drm_mm_insert_helper()
130 mm->color_adjust(hole_node, color, &adj_start, &adj_end); in drm_mm_insert_helper()
139 hole_node->hole_follows = 0; in drm_mm_insert_helper()
140 list_del(&hole_node->hole_stack); in drm_mm_insert_helper()
150 list_add(&node->node_list, &hole_node->node_list); in drm_mm_insert_helper()
161 struct drm_mm_node *drm_mm_get_block_generic(struct drm_mm_node *hole_node, in drm_mm_get_block_generic() argument
169 node = drm_mm_kmalloc(hole_node->mm, atomic); in drm_mm_get_block_generic()
173 drm_mm_insert_helper(hole_node, node, size, alignment, color); in drm_mm_get_block_generic()
188 struct drm_mm_node *hole_node; in drm_mm_insert_node_generic() local
190 hole_node = drm_mm_search_free_generic(mm, size, alignment, in drm_mm_insert_node_generic()
192 if (!hole_node) in drm_mm_insert_node_generic()
195 drm_mm_insert_helper(hole_node, node, size, alignment, color); in drm_mm_insert_node_generic()
207 static void drm_mm_insert_helper_range(struct drm_mm_node *hole_node, in drm_mm_insert_helper_range() argument
213 struct drm_mm *mm = hole_node->mm; in drm_mm_insert_helper_range()
214 unsigned long hole_start = drm_mm_hole_node_start(hole_node); in drm_mm_insert_helper_range()
215 unsigned long hole_end = drm_mm_hole_node_end(hole_node); in drm_mm_insert_helper_range()
219 BUG_ON(!hole_node->hole_follows || node->allocated); in drm_mm_insert_helper_range()
227 mm->color_adjust(hole_node, color, &adj_start, &adj_end); in drm_mm_insert_helper_range()
236 hole_node->hole_follows = 0; in drm_mm_insert_helper_range()
237 list_del(&hole_node->hole_stack); in drm_mm_insert_helper_range()
247 list_add(&node->node_list, &hole_node->node_list); in drm_mm_insert_helper_range()
259 struct drm_mm_node *drm_mm_get_block_range_generic(struct drm_mm_node *hole_node, in drm_mm_get_block_range_generic() argument
269 node = drm_mm_kmalloc(hole_node->mm, atomic); in drm_mm_get_block_range_generic()
273 drm_mm_insert_helper_range(hole_node, node, size, alignment, color, in drm_mm_get_block_range_generic()
289 struct drm_mm_node *hole_node; in drm_mm_insert_node_in_range_generic() local
291 hole_node = drm_mm_search_free_in_range_generic(mm, in drm_mm_insert_node_in_range_generic()
294 if (!hole_node) in drm_mm_insert_node_in_range_generic()
297 drm_mm_insert_helper_range(hole_node, node, in drm_mm_insert_node_in_range_generic()