Lines Matching +full:fine +full:- +full:tune

3  * Copyright 2006-2008 Tungsten Graphics, Inc., Cedar Park, TX. USA.
21 * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
31 * Thomas Hellstrom <thomas-at-tungstengraphics-dot-com>
58 * enum drm_mm_insert_mode - control search and allocation behaviour
116 * Only check the first hole for suitablity and report -ENOSPC
127 * insert the node at the top of the hole or report -ENOSPC if
138 * insert the node at the bottom of the hole or report -ENOSPC if
147 * struct drm_mm_node - allocated block in the DRM allocator
150 * pre-reserved nodes inserted using drm_mm_reserve_node() the structure is
156 /** @color: Opaque driver-private tag. */
181 * struct drm_mm - DRM allocator
217 * struct drm_mm_scan - DRM allocator eviction roaster data
244 * drm_mm_node_allocated - checks whether a node is allocated
258 return test_bit(DRM_MM_NODE_ALLOCATED_BIT, &node->flags); in drm_mm_node_allocated()
262 * drm_mm_initialized - checks whether an allocator is initialized
276 return READ_ONCE(mm->hole_stack.next); in drm_mm_initialized()
280 * drm_mm_hole_follows - checks whether a hole follows this node
293 return node->hole_size; in drm_mm_hole_follows()
298 return hole_node->start + hole_node->size; in __drm_mm_hole_node_start()
302 * drm_mm_hole_node_start - computes the start of the hole following @node
305 * This is useful for driver-specific debug dumpers. Otherwise drivers should
320 return list_next_entry(hole_node, node_list)->start; in __drm_mm_hole_node_end()
324 * drm_mm_hole_node_end - computes the end of the hole following @node
327 * This is useful for driver-specific debug dumpers. Otherwise drivers should
340 * drm_mm_nodes - list of nodes under the drm_mm range manager
351 #define drm_mm_nodes(mm) (&(mm)->head_node.node_list)
354 * drm_mm_for_each_node - iterator to walk over all allocated nodes
365 * drm_mm_for_each_node_safe - iterator to walk over all allocated nodes
377 * drm_mm_for_each_hole - iterator to walk over all holes
393 for (pos = list_first_entry(&(mm)->hole_stack, \
395 &pos->hole_stack != &(mm)->hole_stack ? \
397 hole_end = hole_start + pos->hole_size, \
415 * drm_mm_insert_node_generic - search for space and insert @node
421 * @mode: fine-tune the allocation search and placement
429 * 0 on success, -ENOSPC if there's no suitable hole.
443 * drm_mm_insert_node - search for space and insert @node
454 * 0 on success, -ENOSPC if there's no suitable hole.
469 * drm_mm_clean - checks whether an allocator is clean
485 * drm_mm_for_each_node_in_range - iterator to walk over a range of
502 for (node__ = __drm_mm_interval_first((mm__), (start__), (end__)-1); \
503 node__->start < (end__); \
513 * drm_mm_scan_init - initialize lru scanning
519 * @mode: fine-tune the allocation search and placement
528 * As long as the scan list is non-empty, no other operations than