|
XenevaOS
|
#include <drm_mm.h>

Public Attributes | |
| void(* | color_adjust )(const struct drm_mm_node *node, unsigned long color, u64 *start, u64 *end) |
| struct list_head | hole_stack |
| struct drm_mm_node | head_node |
| struct rb_root_cached | interval_tree |
| struct rb_root_cached | holes_size |
| struct rb_root | holes_addr |
| unsigned long | scan_active |
struct drm_mm - DRM allocator
DRM range allocator with a few special functions and features geared towards managing GPU memory. Except for the @color_adjust callback the structure is entirely opaque and should only be accessed through the provided functions and macros. This structure can be embedded into larger driver structures.
| void(* drm_mm::color_adjust) (const struct drm_mm_node *node, unsigned long color, u64 *start, u64 *end) |
@color_adjust:
Optional driver callback to further apply restrictions on a hole. The node argument points at the node containing the hole from which the block would be allocated (see drm_mm_hole_follows() and friends). The other arguments are the size of the block to be allocated. The driver can adjust the start and end as needed to e.g. insert guard pages.
| struct drm_mm_node drm_mm::head_node |
| struct list_head drm_mm::hole_stack |
| struct rb_root drm_mm::holes_addr |
| struct rb_root_cached drm_mm::holes_size |
| struct rb_root_cached drm_mm::interval_tree |
| unsigned long drm_mm::scan_active |