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>
60 * enum drm_mm_insert_mode - control search and allocation behaviour
118 * Only check the first hole for suitablity and report -ENOSPC
129 * insert the node at the top of the hole or report -ENOSPC if
140 * insert the node at the bottom of the hole or report -ENOSPC if
149 * struct drm_mm_node - allocated block in the DRM allocator
152 * pre-reserved nodes inserted using drm_mm_reserve_node() the structure is
158 /** @color: Opaque driver-private tag. */
183 * struct drm_mm - DRM allocator
219 * struct drm_mm_scan - DRM allocator eviction roaster data
246 * drm_mm_node_allocated - checks whether a node is allocated
260 return test_bit(DRM_MM_NODE_ALLOCATED_BIT, &node->flags); in drm_mm_node_allocated()
264 * drm_mm_initialized - checks whether an allocator is initialized
278 return READ_ONCE(mm->hole_stack.next); in drm_mm_initialized()
282 * drm_mm_hole_follows - checks whether a hole follows this node
295 return node->hole_size; in drm_mm_hole_follows()
300 return hole_node->start + hole_node->size; in __drm_mm_hole_node_start()
304 * drm_mm_hole_node_start - computes the start of the hole following @node
307 * This is useful for driver-specific debug dumpers. Otherwise drivers should
322 return list_next_entry(hole_node, node_list)->start; in __drm_mm_hole_node_end()
326 * drm_mm_hole_node_end - computes the end of the hole following @node
329 * This is useful for driver-specific debug dumpers. Otherwise drivers should
342 * drm_mm_nodes - list of nodes under the drm_mm range manager
353 #define drm_mm_nodes(mm) (&(mm)->head_node.node_list)
356 * drm_mm_for_each_node - iterator to walk over all allocated nodes
367 * drm_mm_for_each_node_safe - iterator to walk over all allocated nodes
379 * drm_mm_for_each_hole - iterator to walk over all holes
395 for (pos = list_first_entry(&(mm)->hole_stack, \
397 &pos->hole_stack != &(mm)->hole_stack ? \
399 hole_end = hole_start + pos->hole_size, \
417 * drm_mm_insert_node_generic - search for space and insert @node
423 * @mode: fine-tune the allocation search and placement
431 * 0 on success, -ENOSPC if there's no suitable hole.
445 * drm_mm_insert_node - search for space and insert @node
456 * 0 on success, -ENOSPC if there's no suitable hole.
470 * drm_mm_clean - checks whether an allocator is clean
486 * drm_mm_for_each_node_in_range - iterator to walk over a range of
503 for (node__ = __drm_mm_interval_first((mm__), (start__), (end__)-1); \
504 node__->start < (end__); \
514 * drm_mm_scan_init - initialize lru scanning
520 * @mode: fine-tune the allocation search and placement
529 * As long as the scan list is non-empty, no other operations than