Lines Matching refs:bre
35 struct badrange_entry *bre, u64 addr, u64 length) in append_badrange_entry() argument
38 bre->start = addr; in append_badrange_entry()
39 bre->length = length; in append_badrange_entry()
40 list_add_tail(&bre->list, &badrange->list); in append_badrange_entry()
46 struct badrange_entry *bre; in alloc_and_append_badrange_entry() local
48 bre = kzalloc(sizeof(*bre), flags); in alloc_and_append_badrange_entry()
49 if (!bre) in alloc_and_append_badrange_entry()
52 append_badrange_entry(badrange, bre, addr, length); in alloc_and_append_badrange_entry()
58 struct badrange_entry *bre, *bre_new; in add_badrange() local
76 list_for_each_entry(bre, &badrange->list, list) in add_badrange()
77 if (bre->start == addr) { in add_badrange()
79 if (bre->length != length) in add_badrange()
80 bre->length = length; in add_badrange()
114 struct badrange_entry *bre, *next; in badrange_forget() local
126 list_for_each_entry_safe(bre, next, badrange_list, list) { in badrange_forget()
127 u64 bre_end = bre->start + bre->length - 1; in badrange_forget()
132 if (bre->start > clr_end) in badrange_forget()
135 if ((bre->start >= start) && (bre_end <= clr_end)) { in badrange_forget()
136 list_del(&bre->list); in badrange_forget()
137 kfree(bre); in badrange_forget()
141 if ((start <= bre->start) && (clr_end > bre->start)) { in badrange_forget()
142 bre->length -= clr_end - bre->start + 1; in badrange_forget()
143 bre->start = clr_end + 1; in badrange_forget()
147 if ((bre->start < start) && (bre_end <= clr_end)) { in badrange_forget()
149 bre->length = start - bre->start; in badrange_forget()
157 if ((bre->start < start) && (bre_end > clr_end)) { in badrange_forget()
165 bre->length = start - bre->start; in badrange_forget()
224 struct badrange_entry *bre; in badblocks_populate() local
229 list_for_each_entry(bre, &badrange->list, list) { in badblocks_populate()
230 u64 bre_end = bre->start + bre->length - 1; in badblocks_populate()
235 if (bre->start > res->end) in badblocks_populate()
238 if (bre->start >= res->start) { in badblocks_populate()
239 u64 start = bre->start; in badblocks_populate()
243 len = bre->length; in badblocks_populate()
246 - bre->start; in badblocks_populate()
254 if (bre->start < res->start) { in badblocks_populate()
258 len = bre->start + bre->length - res->start; in badblocks_populate()