Rev 4112 | Rev 5271 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4112 | Rev 5078 | ||
---|---|---|---|
Line 48... | Line 48... | ||
48 | }; |
48 | }; |
Line 49... | Line 49... | ||
49 | 49 | ||
50 | static int ttm_bo_man_get_node(struct ttm_mem_type_manager *man, |
50 | static int ttm_bo_man_get_node(struct ttm_mem_type_manager *man, |
51 | struct ttm_buffer_object *bo, |
51 | struct ttm_buffer_object *bo, |
- | 52 | struct ttm_placement *placement, |
|
52 | struct ttm_placement *placement, |
53 | uint32_t flags, |
53 | struct ttm_mem_reg *mem) |
54 | struct ttm_mem_reg *mem) |
54 | { |
55 | { |
55 | struct ttm_range_manager *rman = (struct ttm_range_manager *) man->priv; |
56 | struct ttm_range_manager *rman = (struct ttm_range_manager *) man->priv; |
56 | struct drm_mm *mm = &rman->mm; |
57 | struct drm_mm *mm = &rman->mm; |
- | 58 | struct drm_mm_node *node = NULL; |
|
57 | struct drm_mm_node *node = NULL; |
59 | enum drm_mm_allocator_flags aflags = DRM_MM_CREATE_DEFAULT; |
58 | unsigned long lpfn; |
60 | unsigned long lpfn; |
Line 59... | Line 61... | ||
59 | int ret; |
61 | int ret; |
60 | 62 | ||
Line 64... | Line 66... | ||
64 | 66 | ||
65 | node = kzalloc(sizeof(*node), GFP_KERNEL); |
67 | node = kzalloc(sizeof(*node), GFP_KERNEL); |
66 | if (!node) |
68 | if (!node) |
Line -... | Line 69... | ||
- | 69 | return -ENOMEM; |
|
- | 70 | ||
- | 71 | if (flags & TTM_PL_FLAG_TOPDOWN) |
|
67 | return -ENOMEM; |
72 | aflags = DRM_MM_CREATE_TOP; |
68 | 73 | ||
69 | spin_lock(&rman->lock); |
74 | spin_lock(&rman->lock); |
70 | ret = drm_mm_insert_node_in_range(mm, node, mem->num_pages, |
75 | ret = drm_mm_insert_node_in_range_generic(mm, node, mem->num_pages, |
71 | mem->page_alignment, |
76 | mem->page_alignment, 0, |
- | 77 | placement->fpfn, lpfn, |
|
72 | placement->fpfn, lpfn, |
78 | DRM_MM_SEARCH_BEST, |
Line 73... | Line 79... | ||
73 | DRM_MM_SEARCH_BEST); |
79 | aflags); |
74 | spin_unlock(&rman->lock); |
80 | spin_unlock(&rman->lock); |
75 | 81 |