Lines Matching refs:range
2026 * allocate from. To allocate LPIs, just pick the first range that
2028 * amount. Once empty, remove the range from the list.
2030 * To free a range of LPIs, add a free range to the list, sort it and
2031 * merge the result if the new range happens to be adjacent to an
2050 struct lpi_range *range;
2052 range = kmalloc(sizeof(*range), GFP_KERNEL);
2053 if (range) {
2054 range->base_id = base;
2055 range->span = span;
2058 return range;
2063 struct lpi_range *range, *tmp;
2068 list_for_each_entry_safe(range, tmp, &lpi_range_list, entry) {
2069 if (range->span >= nr_lpis) {
2070 *base = range->base_id;
2071 range->base_id += nr_lpis;
2072 range->span -= nr_lpis;
2074 if (range->span == 0) {
2075 list_del(&range->entry);
2076 kfree(range);
2145 pr_info("ITS: Using hypervisor restricted LPI range [%u]\n",
2151 * full range of LPIs.
2245 pr_warn("GICv3: Expected reserved range [%pa:%pa], not found\n",
2467 * range of device IDs that the ITS can grok... The ID
3192 * as out of range and dropped by GIC.