Linux Kernel
3.7.1
|
#include <linux/list.h>
Go to the source code of this file.
Data Structures | |
struct | drm_mm_node |
struct | drm_mm |
Macros | |
#define | drm_mm_for_each_node(entry, mm) |
#define | drm_mm_for_each_scanned_node_reverse(entry, n, mm) |
#define drm_mm_for_each_node | ( | entry, | |
mm | |||
) |
|
read |
|
read |
void drm_mm_init_scan_with_range | ( | struct drm_mm * | mm, |
unsigned long | size, | ||
unsigned | alignment, | ||
unsigned long | color, | ||
unsigned long | start, | ||
unsigned long | end | ||
) |
void drm_mm_put_block | ( | struct drm_mm_node * | cur | ) |
void drm_mm_remove_node | ( | struct drm_mm_node * | node | ) |
void drm_mm_replace_node | ( | struct drm_mm_node * | old, |
struct drm_mm_node * | new | ||
) |
Moves an allocation. To be used with embedded struct drm_mm_node.
int drm_mm_scan_add_block | ( | struct drm_mm_node * | node | ) |
int drm_mm_scan_remove_block | ( | struct drm_mm_node * | node | ) |
Remove a node from the scan list.
Nodes must be removed in the exact same order from the scan list as they have been added, otherwise the internal state of the memory manager will be corrupted.
When the scan list is empty, the selected memory nodes can be freed. An immediately following drm_mm_search_free with best_match = 0 will then return the just freed block (because its at the top of the free_stack list).
Returns one if this block should be evicted, zero otherwise. Will always return zero when no hole has been found.