| /linux/kernel/ |
| H A D | range.c | 12 int add_range(struct range *range, int az, int nr_range, u64 start, u64 end) in add_range() argument 21 range[nr_range].start = start; in add_range() 22 range[nr_range].end = end; in add_range() 29 int add_range_with_merge(struct range *range, int az, int nr_range, in add_range_with_merge() argument 41 if (!range[i].end) in add_range_with_merge() 44 common_start = max(range[i].start, start); in add_range_with_merge() 45 common_end = min(range[i].end, end); in add_range_with_merge() 50 start = min(range[i].start, start); in add_range_with_merge() 51 end = max(range[i].end, end); in add_range_with_merge() 53 memmove(&range[i], &range[i + 1], in add_range_with_merge() [all …]
|
| /linux/drivers/soc/ti/ |
| H A D | knav_qmss_acc.c | 20 #define knav_range_offset_to_inst(kdev, range, q) \ argument 21 (range->queue_base_inst + (q << kdev->inst_shift)) 23 static void __knav_acc_notify(struct knav_range_info *range, in __knav_acc_notify() argument 26 struct knav_device *kdev = range->kdev; in __knav_acc_notify() 30 range_base = kdev->base_id + range->queue_base; in __knav_acc_notify() 32 if (range->flags & RANGE_MULTI_QUEUE) { in __knav_acc_notify() 33 for (queue = 0; queue < range->num_queues; queue++) { in __knav_acc_notify() 34 inst = knav_range_offset_to_inst(kdev, range, in __knav_acc_notify() 44 queue = acc->channel - range->acc_info.start_channel; in __knav_acc_notify() 45 inst = knav_range_offset_to_inst(kdev, range, queue); in __knav_acc_notify() [all …]
|
| /linux/arch/s390/include/asm/ |
| H A D | physmem_info.h | 138 #define for_each_physmem_reserved_type_range(t, range, p_start, p_end) \ argument 139 for (range = &physmem_info.reserved[t], *p_start = range->start, *p_end = range->end; \ 140 range && range->end; range = range->chain ? __va(range->chain) : NULL, \ 141 *p_start = range ? range->start : 0, *p_end = range ? range->end : 0) 144 struct reserved_range *range) in __physmem_reserved_next() argument 146 if (!range) { in __physmem_reserved_next() 147 range = &physmem_info.reserved[*t]; in __physmem_reserved_next() 148 if (range->end) in __physmem_reserved_next() 149 return range; in __physmem_reserved_next() 151 if (range->chain) in __physmem_reserved_next() [all …]
|
| /linux/include/linux/ |
| H A D | range.h | 6 struct range { struct 11 static inline u64 range_len(const struct range *range) in range_len() argument 13 return range->end - range->start + 1; in range_len() 17 static inline bool range_contains(const struct range *r1, in range_contains() 18 const struct range *r2) in range_contains() 24 static inline bool range_overlaps(const struct range *r1, in range_overlaps() 25 const struct range *r2) in range_overlaps() 30 int add_range(struct range *range, int az, int nr_range, 34 int add_range_with_merge(struct range *range, int az, int nr_range, 37 void subtract_range(struct range *range, int az, u64 start, u64 end); [all …]
|
| H A D | mmu_notifier.h | 176 const struct mmu_notifier_range *range); 178 const struct mmu_notifier_range *range); 281 const struct mmu_notifier_range *range, 284 const struct mmu_notifier_range *range, 432 mmu_notifier_range_update_to_read_only(const struct mmu_notifier_range *range); 435 mmu_notifier_range_blockable(const struct mmu_notifier_range *range) in mmu_notifier_range_blockable() argument 437 return (range->flags & MMU_NOTIFIER_RANGE_BLOCKABLE); in mmu_notifier_range_blockable() 471 mmu_notifier_invalidate_range_start(struct mmu_notifier_range *range) in mmu_notifier_invalidate_range_start() argument 476 if (mm_has_notifiers(range->mm)) { in mmu_notifier_invalidate_range_start() 477 range->flags |= MMU_NOTIFIER_RANGE_BLOCKABLE; in mmu_notifier_invalidate_range_start() [all …]
|
| /linux/drivers/android/binder/range_alloc/ |
| H A D | array.rs | 65 for range in &self.ranges { in debug_print() 70 range.offset, in debug_print() 71 range.size, in debug_print() 72 range.state.pid(), in debug_print() 73 range.state.is_oneway(), in debug_print() 75 if let DescriptorState::Reserved(_) = range.state { in debug_print() 101 for (i, range) in self.ranges.iter().enumerate() { in find_empty_range() 103 if size <= range.offset - end_of_prev { in find_empty_range() 109 end_of_prev = range.endpoint(); in find_empty_range() 174 for range in &self.ranges { in low_oneway_space() [all …]
|
| /linux/drivers/dax/ |
| H A D | kmem.c | 31 static int dax_kmem_range(struct dev_dax *dev_dax, int i, struct range *r) in dax_kmem_range() 34 struct range *range = &dax_range->range; in dax_kmem_range() local 37 r->start = ALIGN(range->start, memory_block_size_bytes()); in dax_kmem_range() 38 r->end = ALIGN_DOWN(range->end + 1, memory_block_size_bytes()) - 1; in dax_kmem_range() 40 r->start = range->start; in dax_kmem_range() 41 r->end = range->end; in dax_kmem_range() 98 struct range range; in dev_dax_kmem_probe() local 100 orig_len += range_len(&dev_dax->ranges[i].range); in dev_dax_kmem_probe() 101 rc = dax_kmem_range(dev_dax, i, &range); in dev_dax_kmem_probe() 104 i, range.start, range.end); in dev_dax_kmem_probe() [all …]
|
| /linux/mm/ |
| H A D | hmm.c | 34 struct hmm_range *range; member 51 struct hmm_range *range, unsigned long cpu_flags) in hmm_pfns_fill() argument 53 unsigned long i = (addr - range->start) >> PAGE_SHIFT; in hmm_pfns_fill() 56 range->hmm_pfns[i] &= HMM_PFN_INOUT_FLAGS; in hmm_pfns_fill() 57 range->hmm_pfns[i] |= cpu_flags; in hmm_pfns_fill() 100 struct hmm_range *range = hmm_vma_walk->range; in hmm_pte_need_fault() local 112 pfn_req_flags &= range->pfn_flags_mask; in hmm_pte_need_fault() 113 pfn_req_flags |= range->default_flags; in hmm_pte_need_fault() 135 struct hmm_range *range = hmm_vma_walk->range; in hmm_range_need_fault() local 144 if (!((range->default_flags | range->pfn_flags_mask) & in hmm_range_need_fault() [all …]
|
| H A D | madvise.c | 77 struct madvise_behavior_range range; member 155 struct madvise_behavior_range *range = &madv_behavior->range; in madvise_update_vma() local 158 VMA_ITERATOR(vmi, madv_behavior->mm, range->start); in madvise_update_vma() 167 range->start, range->end, anon_name); in madvise_update_vma() 170 range->start, range->end, &new_vma_flags); in madvise_update_vma() 286 unsigned long start = madv_behavior->range.start; in madvise_willneed() 287 unsigned long end = madv_behavior->range.end; in madvise_willneed() 579 struct madvise_behavior_range *range = &madv_behavior->range; in madvise_cold_page_range() local 586 walk_page_range_vma(vma, range->start, range->end, &cold_walk_ops, in madvise_cold_page_range() 614 struct madvise_behavior_range *range) in madvise_pageout_page_range() argument [all …]
|
| /linux/drivers/gpu/drm/ |
| H A D | drm_gpusvm.c | 489 struct drm_gpusvm_range *range, *__next; in drm_gpusvm_fini() local 497 drm_gpusvm_for_each_range_safe(range, __next, notifier, 0, in drm_gpusvm_fini() 499 drm_gpusvm_range_remove(gpusvm, range); in drm_gpusvm_fini() 577 struct drm_gpusvm_range *range) in drm_gpusvm_range_insert() argument 583 interval_tree_insert(&range->itree, ¬ifier->root); in drm_gpusvm_range_insert() 585 node = rb_prev(&range->itree.rb); in drm_gpusvm_range_insert() 591 list_add(&range->entry, head); in drm_gpusvm_range_insert() 603 struct drm_gpusvm_range *range) in __drm_gpusvm_range_remove() argument 605 interval_tree_remove(&range->itree, ¬ifier->root); in __drm_gpusvm_range_remove() 606 list_del(&range->entry); in __drm_gpusvm_range_remove() [all …]
|
| /linux/drivers/iommu/generic_pt/ |
| H A D | iommu_pt.h | 29 iommu_from_common(pts->range->common)->iommu_device, in flush_writes_range() 38 iommu_from_common(pts->range->common)->iommu_device, in flush_writes_item() 80 static int make_range_ul(struct pt_common *common, struct pt_range *range, in make_range_ul() argument 91 *range = pt_make_range(common, iova, last); in make_range_ul() 92 if (sizeof(iova) > sizeof(range->va)) { in make_range_ul() 93 if (unlikely(range->va != iova || range->last_va != last)) in make_range_ul() 100 struct pt_range *range, u64 iova, in make_range_u64() argument 105 return make_range_ul(common, range, iova, len); in make_range_u64() 112 #define make_range_no_check(common, range, iova, len) \ argument 117 ret = make_range_u64(common, range, iova, len); \ [all …]
|
| /linux/drivers/of/ |
| H A D | address.c | 33 u64 (*map)(__be32 *addr, const __be32 *range, 53 static u64 of_bus_default_map(__be32 *addr, const __be32 *range, in of_bus_default_map() argument 58 cp = of_read_number(range + fna, na - fna); in of_bus_default_map() 59 s = of_read_number(range + na + pna, ns); in of_bus_default_map() 91 static u64 of_bus_default_flags_map(__be32 *addr, const __be32 *range, int na, in of_bus_default_flags_map() argument 95 if (*addr != *range) in of_bus_default_flags_map() 98 return of_bus_default_map(addr, range, na, ns, pna, fna); in of_bus_default_flags_map() 171 static u64 of_bus_pci_map(__be32 *addr, const __be32 *range, int na, int ns, in of_bus_pci_map() argument 177 rf = of_bus_pci_get_flags(range); in of_bus_pci_map() 183 return of_bus_default_map(addr, range, na, ns, pna, fna); in of_bus_pci_map() [all …]
|
| /linux/drivers/pci/hotplug/ |
| H A D | ibmphp_res.c | 368 static int add_bus_range(int type, struct range_node *range, struct bus_node *bus_cur) in add_bus_range() argument 392 if (range->start < range_cur->start) in add_bus_range() 402 bus_cur->rangeMem = range; in add_bus_range() 405 bus_cur->rangePFMem = range; in add_bus_range() 408 bus_cur->rangeIO = range; in add_bus_range() 411 range->next = range_cur; in add_bus_range() 412 range->rangeno = 1; in add_bus_range() 416 range->next = NULL; in add_bus_range() 417 range_prev->next = range; in add_bus_range() 418 range->rangeno = range_prev->rangeno + 1; in add_bus_range() [all …]
|
| /linux/drivers/gpu/drm/amd/amdgpu/ |
| H A D | amdgpu_hmm.c | 67 const struct mmu_notifier_range *range, in amdgpu_hmm_invalidate_gfx() argument 74 if (!mmu_notifier_range_blockable(range)) in amdgpu_hmm_invalidate_gfx() 104 const struct mmu_notifier_range *range, in amdgpu_hmm_invalidate_hsa() argument 109 if (!mmu_notifier_range_blockable(range)) in amdgpu_hmm_invalidate_hsa() 171 struct amdgpu_hmm_range *range) in amdgpu_hmm_range_get_pages() argument 177 struct hmm_range *hmm_range = &range->hmm_range; in amdgpu_hmm_range_get_pages() 244 bool amdgpu_hmm_range_valid(struct amdgpu_hmm_range *range) in amdgpu_hmm_range_valid() argument 246 if (!range) in amdgpu_hmm_range_valid() 249 return !mmu_interval_read_retry(range->hmm_range.notifier, in amdgpu_hmm_range_valid() 250 range->hmm_range.notifier_seq); in amdgpu_hmm_range_valid() [all …]
|
| /linux/drivers/gpu/drm/xe/ |
| H A D | xe_svm.c | 60 static bool xe_svm_range_in_vram(struct xe_svm_range *range) in xe_svm_range_in_vram() argument 69 .__flags = READ_ONCE(range->base.pages.flags.__flags), in xe_svm_range_in_vram() 75 static bool xe_svm_range_has_vram_binding(struct xe_svm_range *range) in xe_svm_range_has_vram_binding() argument 78 return xe_svm_range_in_vram(range) && range->tile_present; in xe_svm_range_has_vram_binding() 103 void xe_svm_range_debug(struct xe_svm_range *range, const char *operation) in xe_svm_range_debug() argument 105 range_debug(range, operation); in xe_svm_range_debug() 111 struct xe_svm_range *range; in xe_svm_range_alloc() local 113 range = kzalloc_obj(*range); in xe_svm_range_alloc() 114 if (!range) in xe_svm_range_alloc() 117 INIT_LIST_HEAD(&range->garbage_collector_link); in xe_svm_range_alloc() [all …]
|
| H A D | xe_svm.h | 75 static inline bool xe_svm_range_pages_valid(struct xe_svm_range *range) in xe_svm_range_pages_valid() argument 77 return drm_gpusvm_range_pages_valid(range->base.gpusvm, &range->base); in xe_svm_range_pages_valid() 96 void xe_svm_range_debug(struct xe_svm_range *range, const char *operation); 98 int xe_svm_alloc_vram(struct xe_svm_range *range, const struct drm_gpusvm_ctx *ctx, 104 int xe_svm_range_get_pages(struct xe_vm *vm, struct xe_svm_range *range, 107 bool xe_svm_range_needs_migrate_to_vram(struct xe_svm_range *range, struct xe_vma *vma, 110 void xe_svm_range_migrate_to_smem(struct xe_vm *vm, struct xe_svm_range *range); 113 struct xe_svm_range *range, 132 static inline bool xe_svm_range_has_dma_mapping(struct xe_svm_range *range) in xe_svm_range_has_dma_mapping() argument 134 lockdep_assert_held(&range->base.gpusvm->notifier_lock); in xe_svm_range_has_dma_mapping() [all …]
|
| /linux/mm/damon/ |
| H A D | sysfs-common.c | 22 struct damon_sysfs_ul_range *range = kmalloc_obj(*range); in damon_sysfs_ul_range_alloc() local 24 if (!range) in damon_sysfs_ul_range_alloc() 26 range->kobj = (struct kobject){}; in damon_sysfs_ul_range_alloc() 27 range->min = min; in damon_sysfs_ul_range_alloc() 28 range->max = max; in damon_sysfs_ul_range_alloc() 30 return range; in damon_sysfs_ul_range_alloc() 36 struct damon_sysfs_ul_range *range = container_of(kobj, in min_show() local 39 return sysfs_emit(buf, "%lu\n", range->min); in min_show() 45 struct damon_sysfs_ul_range *range = container_of(kobj, in min_store() local 54 range->min = min; in min_store() [all …]
|
| /linux/drivers/gpu/drm/sprd/ |
| H A D | megacores_pll.c | 221 u32 range[2], constant; in dphy_timing_config() local 236 range[L] = 50 * scale; in dphy_timing_config() 237 range[H] = INFINITY; in dphy_timing_config() 238 val[CLK] = DIV_ROUND_UP(range[L] * (factor << 1), t_byteck) - 2; in dphy_timing_config() 243 range[L] = 38 * scale; in dphy_timing_config() 244 range[H] = 95 * scale; in dphy_timing_config() 245 tmp = AVERAGE(range[L], range[H]); in dphy_timing_config() 246 val[CLK] = DIV_ROUND_UP(AVERAGE(range[L], range[H]), t_half_byteck) - 1; in dphy_timing_config() 247 range[L] = 40 * scale + 4 * t_ui; in dphy_timing_config() 248 range[H] = 85 * scale + 6 * t_ui; in dphy_timing_config() [all …]
|
| /linux/tools/testing/selftests/net/ |
| H A D | ip_local_port_range.c | 28 static void unpack_port_range(__u32 range, __u16 *lo, __u16 *hi) in unpack_port_range() argument 30 *lo = range & 0xffff; in unpack_port_range() 31 *hi = range >> 16; in unpack_port_range() 104 static int get_ip_local_port_range(int fd, __u32 *range) in get_ip_local_port_range() argument 115 *range = val; in get_ip_local_port_range() 238 __u32 range; in TEST_F() local 243 range = pack_port_range(t->range_lo, t->range_hi); in TEST_F() 244 err = setsockopt(fd, SOL_IP, IP_LOCAL_PORT_RANGE, &range, sizeof(range)); in TEST_F() 281 __u32 range; in TEST_F() local 289 range = pack_port_range(t->range_lo, t->range_hi); in TEST_F() [all …]
|
| /linux/net/netfilter/ |
| H A D | xt_nat.c | 55 struct nf_nat_range2 range; in xt_snat_target_v0() local 64 xt_nat_convert_range(&range, &mr->range[0]); in xt_snat_target_v0() 65 return nf_nat_setup_info(ct, &range, NF_NAT_MANIP_SRC); in xt_snat_target_v0() 72 struct nf_nat_range2 range; in xt_dnat_target_v0() local 80 xt_nat_convert_range(&range, &mr->range[0]); in xt_dnat_target_v0() 81 return nf_nat_setup_info(ct, &range, NF_NAT_MANIP_DST); in xt_dnat_target_v0() 88 struct nf_nat_range2 range; in xt_snat_target_v1() local 97 memcpy(&range, range_v1, sizeof(*range_v1)); in xt_snat_target_v1() 98 memset(&range.base_proto, 0, sizeof(range.base_proto)); in xt_snat_target_v1() 100 return nf_nat_setup_info(ct, &range, NF_NAT_MANIP_SRC); in xt_snat_target_v1() [all …]
|
| H A D | xt_NETMAP.c | 21 const struct nf_nat_range2 *range = par->targinfo; in netmap_tg6() local 29 for (i = 0; i < ARRAY_SIZE(range->min_addr.ip6); i++) in netmap_tg6() 30 netmask.ip6[i] = ~(range->min_addr.ip6[i] ^ in netmap_tg6() 31 range->max_addr.ip6[i]); in netmap_tg6() 41 new_addr.ip6[i] |= range->min_addr.ip6[i] & in netmap_tg6() 45 newrange.flags = range->flags | NF_NAT_RANGE_MAP_IPS; in netmap_tg6() 48 newrange.min_proto = range->min_proto; in netmap_tg6() 49 newrange.max_proto = range->max_proto; in netmap_tg6() 56 const struct nf_nat_range2 *range = par->targinfo; in netmap_tg6_checkentry() local 58 if (!(range->flags & NF_NAT_RANGE_MAP_IPS)) in netmap_tg6_checkentry() [all …]
|
| /linux/drivers/net/ethernet/mellanox/mlxsw/ |
| H A D | spectrum_port_range.c | 13 struct mlxsw_sp_port_range range; member 36 mlxsw_reg_pprr_src_set(pprr_pl, prr->range.source); in mlxsw_sp_port_range_reg_configure() 37 mlxsw_reg_pprr_dst_set(pprr_pl, !prr->range.source); in mlxsw_sp_port_range_reg_configure() 40 mlxsw_reg_pprr_port_range_min_set(pprr_pl, prr->range.min); in mlxsw_sp_port_range_reg_configure() 41 mlxsw_reg_pprr_port_range_max_set(pprr_pl, prr->range.max); in mlxsw_sp_port_range_reg_configure() 48 const struct mlxsw_sp_port_range *range, in mlxsw_sp_port_range_reg_create() argument 59 prr->range = *range; in mlxsw_sp_port_range_reg_create() 99 const struct mlxsw_sp_port_range *range) in mlxsw_sp_port_range_reg_find() argument 106 if (prr->range.min == range->min && in mlxsw_sp_port_range_reg_find() 107 prr->range.max == range->max && in mlxsw_sp_port_range_reg_find() [all …]
|
| /linux/arch/s390/boot/ |
| H A D | physmem_info.c | 44 struct physmem_range *range; in add_physmem_online_range() local 47 range = __get_physmem_range_ptr(physmem_info.range_count - 1); in add_physmem_online_range() 48 if (range->end == start) { in add_physmem_online_range() 49 range->end = end; in add_physmem_online_range() 54 range = __get_physmem_range_ptr(physmem_info.range_count); in add_physmem_online_range() 55 range->start = start; in add_physmem_online_range() 56 range->end = end; in add_physmem_online_range() 144 unsigned long range = 1 << (MAX_PHYSMEM_BITS - 20); /* in 1MB blocks */ in search_mem_end() local 148 while (range > 1) { in search_mem_end() 149 range >>= 1; in search_mem_end() [all …]
|
| /linux/lib/ |
| H A D | codetag.c | 31 struct codetag_range range; member 66 return cmod->range.start < cmod->range.stop ? cmod->range.start : NULL; in get_first_module_ct() 75 return res < iter->cmod->range.stop ? res : NULL; in get_next_module_ct() 132 const struct codetag_range *range) in range_size() argument 134 return ((char *)range->stop - (char *)range->start) / in range_size() 178 struct codetag_range range; in codetag_module_init() local 183 range = get_section_range(mod, cttype->desc.section); in codetag_module_init() 184 if (!range.start || !range.stop) { in codetag_module_init() 191 if (range.start == range.stop) in codetag_module_init() 194 BUG_ON(range.start > range.stop); in codetag_module_init() [all …]
|
| /linux/drivers/regulator/ |
| H A D | qcom_spmi-regulator.c | 403 const struct spmi_voltage_range *range; member 484 .range = name##_ranges, \ 672 const struct spmi_voltage_range *range; in spmi_regulator_select_voltage() local 678 lim_min_uV = vreg->set_points->range[0].set_point_min_uV; in spmi_regulator_select_voltage() 680 vreg->set_points->range[vreg->set_points->count - 1].set_point_max_uV; in spmi_regulator_select_voltage() 694 range_max_uV = vreg->set_points->range[i - 1].set_point_max_uV; in spmi_regulator_select_voltage() 700 range = &vreg->set_points->range[range_id]; in spmi_regulator_select_voltage() 706 voltage_sel = DIV_ROUND_UP(uV - range->min_uV, range->step_uV); in spmi_regulator_select_voltage() 707 uV = voltage_sel * range->step_uV + range->min_uV; in spmi_regulator_select_voltage() 719 selector += vreg->set_points->range[i].n_voltages; in spmi_regulator_select_voltage() [all …]
|