Lines Matching refs:range_addr
42 int cvmx_range_init(u64 range_addr, int size) in cvmx_range_init() argument
47 cvmx_write64_uint64(addr_of_size(range_addr), lsize); in cvmx_range_init()
49 cvmx_write64_uint64(addr_of_element(range_addr, i), in cvmx_range_init()
55 static int64_t cvmx_range_find_next_available(u64 range_addr, u64 index, in cvmx_range_find_next_available() argument
58 u64 size = cvmx_read64_uint64(addr_of_size(range_addr)); in cvmx_range_find_next_available()
65 u64 r_owner = cvmx_read64_uint64(addr_of_element(range_addr, i)); in cvmx_range_find_next_available()
76 static int64_t cvmx_range_find_last_available(u64 range_addr, u64 index, in cvmx_range_find_last_available() argument
79 u64 size = cvmx_read64_uint64(addr_of_size(range_addr)); in cvmx_range_find_last_available()
89 u64 r_owner = cvmx_read64_uint64(addr_of_element(range_addr, i)); in cvmx_range_find_last_available()
100 int cvmx_range_alloc_ordered(u64 range_addr, u64 owner, u64 cnt, in cvmx_range_alloc_ordered() argument
108 (unsigned long long)range_addr, in cvmx_range_alloc_ordered()
111 size = cvmx_read64_uint64(addr_of_size(range_addr)); in cvmx_range_alloc_ordered()
116 first_available = cvmx_range_find_last_available(range_addr, i, align); in cvmx_range_alloc_ordered()
118 first_available = cvmx_range_find_next_available(range_addr, i, align); in cvmx_range_alloc_ordered()
126 u64 r_owner = cvmx_read64_uint64(addr_of_element(range_addr, i)); in cvmx_range_alloc_ordered()
142 u64 a = addr_of_element(range_addr, j); in cvmx_range_alloc_ordered()
153 cvmx_range_show(range_addr); in cvmx_range_alloc_ordered()
159 int cvmx_range_alloc(u64 range_addr, u64 owner, u64 cnt, int align) in cvmx_range_alloc() argument
161 return cvmx_range_alloc_ordered(range_addr, owner, cnt, align, 0); in cvmx_range_alloc()
164 int cvmx_range_reserve(u64 range_addr, u64 owner, u64 base, in cvmx_range_reserve() argument
170 size = cvmx_read64_uint64(addr_of_size(range_addr)); in cvmx_range_reserve()
173 __func__, (unsigned long long)range_addr, in cvmx_range_reserve()
179 r_owner = cvmx_read64_uint64(addr_of_element(range_addr, i)); in cvmx_range_reserve()
189 (unsigned long long)range_addr, in cvmx_range_reserve()
196 cvmx_write64_uint64(addr_of_element(range_addr, i), owner); in cvmx_range_reserve()
200 int __cvmx_range_is_allocated(u64 range_addr, int bases[], int count) in __cvmx_range_is_allocated() argument
206 size = cvmx_read64_uint64(addr_of_size(range_addr)); in __cvmx_range_is_allocated()
215 r_owner = cvmx_read64_uint64(addr_of_element(range_addr, base)); in __cvmx_range_is_allocated()
227 int cvmx_range_free_mutiple(u64 range_addr, int bases[], int count) in cvmx_range_free_mutiple() argument
232 if (__cvmx_range_is_allocated(range_addr, bases, count) != 1) in cvmx_range_free_mutiple()
237 cvmx_write64_uint64(addr_of_element(range_addr, base), in cvmx_range_free_mutiple()
243 int cvmx_range_free_with_base(u64 range_addr, int base, int cnt) in cvmx_range_free_with_base() argument
248 size = cvmx_read64_uint64(addr_of_size(range_addr)); in cvmx_range_free_with_base()
255 cvmx_write64_uint64(addr_of_element(range_addr, i), in cvmx_range_free_with_base()