summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@quicinc.com>2017-06-08 05:13:44 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2017-06-08 05:13:44 -0700
commit2bf7a89b5a885316f1c697e982f8f6be03e46b8b (patch)
tree73d6afcae88b586ab2c1e6c929c2d6beebf27ffc /include
parent2ae6690a5650d746f4c37eca6ccc6380304de9b1 (diff)
parentd9b394c7c2011a61a3485bd33f237066a05d1991 (diff)
Merge "drm/msm: Fix drm_mm bottom_up search"
Diffstat (limited to 'include')
-rw-r--r--include/drm/drm_mm.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/drm/drm_mm.h b/include/drm/drm_mm.h
index debbbecbde1b..6649b6d8c437 100644
--- a/include/drm/drm_mm.h
+++ b/include/drm/drm_mm.h
@@ -49,6 +49,7 @@ enum drm_mm_search_flags {
DRM_MM_SEARCH_DEFAULT = 0,
DRM_MM_SEARCH_BEST = 1 << 0,
DRM_MM_SEARCH_BELOW = 1 << 1,
+ DRM_MM_SEARCH_BOTTOM_UP = 1 << 2,
};
enum drm_mm_allocator_flags {
@@ -63,6 +64,7 @@ struct drm_mm_node {
struct list_head node_list;
struct list_head hole_stack;
struct rb_node rb;
+ struct rb_node hole_node;
unsigned hole_follows : 1;
unsigned scanned_block : 1;
unsigned scanned_prev_free : 1;
@@ -84,6 +86,7 @@ struct drm_mm {
struct drm_mm_node head_node;
/* Keep an interval_tree for fast lookup of drm_mm_nodes by address. */
struct rb_root interval_tree;
+ struct rb_root holes_tree;
unsigned int scan_check_range : 1;
unsigned scan_alignment;