Lines Matching refs:range
2012 * allocate from. To allocate LPIs, just pick the first range that
2014 * amount. Once empty, remove the range from the list.
2016 * To free a range of LPIs, add a free range to the list, sort it and
2017 * merge the result if the new range happens to be adjacent to an
2036 struct lpi_range *range;
2038 range = kmalloc(sizeof(*range), GFP_KERNEL);
2039 if (range) {
2040 range->base_id = base;
2041 range->span = span;
2044 return range;
2049 struct lpi_range *range, *tmp;
2054 list_for_each_entry_safe(range, tmp, &lpi_range_list, entry) {
2055 if (range->span >= nr_lpis) {
2056 *base = range->base_id;
2057 range->base_id += nr_lpis;
2058 range->span -= nr_lpis;
2060 if (range->span == 0) {
2061 list_del(&range->entry);
2062 kfree(range);
2131 pr_info("ITS: Using hypervisor restricted LPI range [%u]\n",
2137 * full range of LPIs.
2231 pr_warn("GICv3: Expected reserved range [%pa:%pa], not found\n",
2451 * range of device IDs that the ITS can grok... The ID
3152 * as out of range and dropped by GIC.