XenevaOS
Loading...
Searching...
No Matches
Public Attributes | List of all members
drm_mm Struct Reference

#include <drm_mm.h>

Collaboration diagram for drm_mm:
Collaboration graph
[legend]

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
 

Detailed Description

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.

Member Data Documentation

◆ color_adjust

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.

◆ head_node

struct drm_mm_node drm_mm::head_node

◆ hole_stack

struct list_head drm_mm::hole_stack

◆ holes_addr

struct rb_root drm_mm::holes_addr

◆ holes_size

struct rb_root_cached drm_mm::holes_size

◆ interval_tree

struct rb_root_cached drm_mm::interval_tree

◆ scan_active

unsigned long drm_mm::scan_active

The documentation for this struct was generated from the following file: