Home
last modified time | relevance | path

Searched refs:nr_irqs (Results 1 – 25 of 194) sorted by relevance

12345678

/linux/drivers/irqchip/
H A Dspear-shirq.c47 u32 nr_irqs; member
90 .nr_irqs = 9,
106 .nr_irqs = 8,
114 .nr_irqs = 5,
122 .nr_irqs = 1,
130 .nr_irqs = 3,
150 .nr_irqs = 7,
158 .nr_irqs = 3,
166 .nr_irqs = 1,
174 .nr_irqs = 11,
[all …]
H A Dirq-hip04.c56 unsigned int nr_irqs; member
250 unsigned int nr_irqs = intc->nr_irqs; in hip04_irq_dist_init() local
260 for (i = 32; i < nr_irqs; i += 2) in hip04_irq_dist_init()
263 gic_dist_config(base, nr_irqs, GICD_INT_DEF_PRI); in hip04_irq_dist_init()
355 int nr_irqs, irq_base, i; in hip04_of_init() local
377 nr_irqs = readl_relaxed(hip04_data.dist_base + GIC_DIST_CTR) & 0x1f; in hip04_of_init()
378 nr_irqs = (nr_irqs + 1) * 32; in hip04_of_init()
379 if (nr_irqs > HIP04_MAX_IRQS) in hip04_of_init()
380 nr_irqs = HIP04_MAX_IRQS; in hip04_of_init()
381 hip04_data.nr_irqs = nr_irqs; in hip04_of_init()
[all …]
H A Dirq-bcm2712-mip.c72 static int mip_alloc_hwirq(struct mip_priv *mip, unsigned int nr_irqs) in mip_alloc_hwirq() argument
75 return bitmap_find_free_region(mip->bitmap, mip->num_msis, ilog2(nr_irqs)); in mip_alloc_hwirq()
79 unsigned int nr_irqs) in mip_free_hwirq() argument
82 bitmap_release_region(mip->bitmap, hwirq, ilog2(nr_irqs)); in mip_free_hwirq()
86 unsigned int nr_irqs, void *arg) in mip_middle_domain_alloc() argument
94 irq = mip_alloc_hwirq(mip, nr_irqs); in mip_middle_domain_alloc()
106 ret = irq_domain_alloc_irqs_parent(domain, virq, nr_irqs, &fwspec); in mip_middle_domain_alloc()
110 for (i = 0; i < nr_irqs; i++) { in mip_middle_domain_alloc()
127 irq_domain_free_irqs_parent(domain, virq, nr_irqs); in mip_middle_domain_alloc()
129 mip_free_hwirq(mip, irq, nr_irqs); in mip_middle_domain_alloc()
[all …]
H A Dirq-sifive-plic.c73 unsigned int nr_irqs; member
255 for (i = 0; i < priv->nr_irqs; i++) { in plic_irq_suspend()
267 for (i = 0; i < DIV_ROUND_UP(priv->nr_irqs, 32); i++) { in plic_irq_suspend()
286 for (i = 0; i < priv->nr_irqs; i++) { in plic_irq_resume()
299 for (i = 0; i < DIV_ROUND_UP(priv->nr_irqs, 32); i++) { in plic_irq_resume()
342 unsigned int nr_irqs, void *arg) in plic_irq_domain_alloc() argument
353 for (i = 0; i < nr_irqs; i++) { in plic_irq_domain_alloc()
446 u32 *nr_irqs, u32 *nr_contexts, in plic_parse_nr_irqs_and_contexts() argument
452 rc = riscv_acpi_get_gsi_info(fwnode, gsi_base, id, nr_irqs, NULL); in plic_parse_nr_irqs_and_contexts()
467 rc = of_property_read_u32(to_of_node(fwnode), "riscv,ndev", nr_irqs); in plic_parse_nr_irqs_and_contexts()
[all …]
H A Dirq-mmp.c39 int nr_irqs; member
249 int ret, nr_irqs, irq, i = 0; in mmp_init_bases() local
251 ret = of_property_read_u32(node, "mrvl,intc-nr-irqs", &nr_irqs); in mmp_init_bases()
264 icu_data[0].domain = irq_domain_create_linear(of_fwnode_handle(node), nr_irqs, in mmp_init_bases()
267 for (irq = 0; irq < nr_irqs; irq++) { in mmp_init_bases()
276 icu_data[0].nr_irqs = nr_irqs; in mmp_init_bases()
360 u32 nr_irqs, mfp_irq; in mmp2_mux_of_init() local
368 &nr_irqs); in mmp2_mux_of_init()
394 icu_data[i].domain = irq_domain_create_linear(of_fwnode_handle(node), nr_irqs, in mmp2_mux_of_init()
397 for (irq = 0; irq < nr_irqs; irq++) { in mmp2_mux_of_init()
[all …]
H A Dirq-gic-v3-mbi.c78 int nr_irqs) in mbi_free_msi() argument
82 get_count_order(nr_irqs)); in mbi_free_msi()
87 unsigned int nr_irqs, void *args) in mbi_irq_domain_alloc() argument
97 get_count_order(nr_irqs)); in mbi_irq_domain_alloc()
115 for (i = 0; i < nr_irqs; i++) { in mbi_irq_domain_alloc()
127 irq_domain_free_irqs_parent(domain, virq, nr_irqs); in mbi_irq_domain_alloc()
128 mbi_free_msi(mbi, hwirq, nr_irqs); in mbi_irq_domain_alloc()
133 unsigned int virq, unsigned int nr_irqs) in mbi_irq_domain_free() argument
138 mbi_free_msi(mbi, d->hwirq, nr_irqs); in mbi_irq_domain_free()
139 irq_domain_free_irqs_parent(domain, virq, nr_irqs); in mbi_irq_domain_free()
H A Dirq-mst-intc.c30 unsigned int irq_start, nr_irqs; member
133 for (i = 0; i < DIV_ROUND_UP(cd->nr_irqs, 16); i++) in mst_intc_polarity_save()
142 for (i = 0; i < DIV_ROUND_UP(cd->nr_irqs, 16); i++) in mst_intc_polarity_restore()
191 if (fwspec->param[1] >= cd->nr_irqs) in mst_intc_domain_translate()
203 unsigned int nr_irqs, void *data) in mst_intc_domain_alloc() argument
219 for (i = 0; i < nr_irqs; i++) in mst_intc_domain_alloc()
236 return irq_domain_alloc_irqs_parent(domain, virq, nr_irqs, &parent_fwspec); in mst_intc_domain_alloc()
275 cd->nr_irqs = irq_end - irq_start + 1; in mst_intc_of_init()
276 domain = irq_domain_create_hierarchy(domain_parent, 0, cd->nr_irqs, of_fwnode_handle(dn), in mst_intc_of_init()
H A Dirq-alpine-msi.c106 unsigned int nr_irqs, void *args) in alpine_msix_middle_domain_alloc() argument
111 sgi = alpine_msix_allocate_sgi(priv, nr_irqs); in alpine_msix_middle_domain_alloc()
115 for (i = 0; i < nr_irqs; i++) { in alpine_msix_middle_domain_alloc()
127 alpine_msix_free_sgi(priv, sgi, nr_irqs); in alpine_msix_middle_domain_alloc()
132 unsigned int nr_irqs) in alpine_msix_middle_domain_free() argument
137 irq_domain_free_irqs_parent(domain, virq, nr_irqs); in alpine_msix_middle_domain_free()
138 alpine_msix_free_sgi(priv, d->hwirq, nr_irqs); in alpine_msix_middle_domain_free()
H A Dirq-loongson-pch-msi.c94 unsigned int nr_irqs, void *args) in pch_msi_middle_domain_alloc() argument
99 hwirq = pch_msi_allocate_hwirq(priv, nr_irqs); in pch_msi_middle_domain_alloc()
103 for (i = 0; i < nr_irqs; i++) { in pch_msi_middle_domain_alloc()
115 pch_msi_free_hwirq(priv, hwirq, nr_irqs); in pch_msi_middle_domain_alloc()
123 unsigned int nr_irqs) in pch_msi_middle_domain_free() argument
128 irq_domain_free_irqs_parent(domain, virq, nr_irqs); in pch_msi_middle_domain_free()
129 pch_msi_free_hwirq(priv, d->hwirq, nr_irqs); in pch_msi_middle_domain_free()
H A Dirq-gic-v2m.c143 int nr_irqs) in gicv2m_unalloc_msi() argument
147 get_count_order(nr_irqs)); in gicv2m_unalloc_msi()
152 unsigned int nr_irqs, void *args) in gicv2m_irq_domain_alloc() argument
161 get_count_order(nr_irqs)); in gicv2m_irq_domain_alloc()
179 for (i = 0; i < nr_irqs; i++) { in gicv2m_irq_domain_alloc()
191 irq_domain_free_irqs_parent(domain, virq, nr_irqs); in gicv2m_irq_domain_alloc()
192 gicv2m_unalloc_msi(v2m, hwirq, nr_irqs); in gicv2m_irq_domain_alloc()
197 unsigned int virq, unsigned int nr_irqs) in gicv2m_irq_domain_free() argument
202 gicv2m_unalloc_msi(v2m, d->hwirq, nr_irqs); in gicv2m_irq_domain_free()
203 irq_domain_free_irqs_parent(domain, virq, nr_irqs); in gicv2m_irq_domain_free()
H A Dirq-ixp4xx.c153 unsigned int irq, unsigned int nr_irqs, in ixp4xx_irq_domain_alloc() argument
167 for (i = 0; i < nr_irqs; i++) { in ixp4xx_irq_domain_alloc()
209 int nr_irqs; in ixp4xx_irq_setup() local
227 nr_irqs = 64; in ixp4xx_irq_setup()
229 nr_irqs = 32; in ixp4xx_irq_setup()
237 ixi->domain = irq_domain_create_linear(fwnode, nr_irqs, in ixp4xx_irq_setup()
H A Dirq-sg2042-msi.c147 unsigned int nr_irqs, void *args) in sg204x_msi_middle_domain_alloc() argument
152 hwirq = sg204x_msi_allocate_hwirq(data, nr_irqs); in sg204x_msi_middle_domain_alloc()
156 for (i = 0; i < nr_irqs; i++) { in sg204x_msi_middle_domain_alloc()
167 sg204x_msi_free_hwirq(data, hwirq, nr_irqs); in sg204x_msi_middle_domain_alloc()
173 unsigned int nr_irqs) in sg204x_msi_middle_domain_free() argument
178 irq_domain_free_irqs_parent(domain, virq, nr_irqs); in sg204x_msi_middle_domain_free()
179 sg204x_msi_free_hwirq(data, d->hwirq, nr_irqs); in sg204x_msi_middle_domain_free()
H A Dirq-armada-370-xp.c269 static int mpic_msi_alloc(struct irq_domain *domain, unsigned int virq, unsigned int nr_irqs, in mpic_msi_alloc() argument
277 order_base_2(nr_irqs)); in mpic_msi_alloc()
283 for (unsigned int i = 0; i < nr_irqs; i++) { in mpic_msi_alloc()
293 static void mpic_msi_free(struct irq_domain *domain, unsigned int virq, unsigned int nr_irqs) in mpic_msi_free() argument
299 bitmap_release_region(mpic->msi_used, d->hwirq, order_base_2(nr_irqs)); in mpic_msi_free()
457 unsigned int nr_irqs, void *args) in mpic_ipi_alloc() argument
459 for (unsigned int i = 0; i < nr_irqs; i++) { in mpic_ipi_alloc()
469 unsigned int nr_irqs) in mpic_ipi_free() argument
830 unsigned int nr_irqs; in mpic_of_init() local
848 nr_irqs = FIELD_GET(MPIC_INT_CONTROL_NUMINT_MASK, readl(mpic->base + MPIC_INT_CONTROL)); in mpic_of_init()
[all …]
H A Dirq-mvebu-sei.c170 unsigned int nr_irqs, void *arg) in mvebu_sei_domain_alloc() argument
183 unsigned int nr_irqs) in mvebu_sei_domain_free() argument
187 for (i = 0; i < nr_irqs; i++) { in mvebu_sei_domain_free()
211 unsigned int nr_irqs, void *arg) in mvebu_sei_ap_alloc() argument
251 unsigned int virq, unsigned int nr_irqs, in mvebu_sei_cp_domain_alloc() argument
260 if (nr_irqs != 1) in mvebu_sei_cp_domain_alloc()
293 unsigned int virq, unsigned int nr_irqs) in mvebu_sei_cp_domain_free() argument
298 if (nr_irqs != 1 || d->hwirq >= sei->caps->cp_range.size) { in mvebu_sei_cp_domain_free()
/linux/drivers/pci/controller/
H A Dpcie-iproc-msi.c97 int nr_irqs; member
147 return (hwirq % msi->nr_irqs); in hwirq_to_group()
248 unsigned int virq, unsigned int nr_irqs, in iproc_msi_irq_domain_alloc() argument
254 if (msi->nr_cpus > 1 && nr_irqs > 1) in iproc_msi_irq_domain_alloc()
264 order_base_2(msi->nr_cpus * nr_irqs)); in iproc_msi_irq_domain_alloc()
271 for (i = 0; i < nr_irqs; i++) { in iproc_msi_irq_domain_alloc()
282 unsigned int virq, unsigned int nr_irqs) in iproc_msi_irq_domain_free() argument
292 order_base_2(msi->nr_cpus * nr_irqs)); in iproc_msi_irq_domain_free()
296 irq_domain_free_irqs_parent(domain, virq, nr_irqs); in iproc_msi_irq_domain_free()
411 for (eq = 0; eq < msi->nr_irqs; eq++) { in iproc_msi_enable()
[all …]
/linux/drivers/iommu/
H A Dhyperv-iommu.c66 unsigned int virq, unsigned int nr_irqs, in hyperv_irq_remapping_alloc() argument
73 if (!info || info->type != X86_IRQ_ALLOC_TYPE_IOAPIC || nr_irqs > 1) in hyperv_irq_remapping_alloc()
76 ret = irq_domain_alloc_irqs_parent(domain, virq, nr_irqs, arg); in hyperv_irq_remapping_alloc()
82 irq_domain_free_irqs_common(domain, virq, nr_irqs); in hyperv_irq_remapping_alloc()
98 unsigned int virq, unsigned int nr_irqs) in hyperv_irq_remapping_free() argument
100 irq_domain_free_irqs_common(domain, virq, nr_irqs); in hyperv_irq_remapping_free()
264 unsigned int virq, unsigned int nr_irqs, in hyperv_root_irq_remapping_alloc() argument
272 if (!info || info->type != X86_IRQ_ALLOC_TYPE_IOAPIC || nr_irqs > 1) in hyperv_root_irq_remapping_alloc()
275 ret = irq_domain_alloc_irqs_parent(domain, virq, nr_irqs, arg); in hyperv_root_irq_remapping_alloc()
281 irq_domain_free_irqs_common(domain, virq, nr_irqs); in hyperv_root_irq_remapping_alloc()
[all …]
/linux/kernel/irq/
H A Dipi.c26 unsigned int nr_irqs, offset; in irq_reserve_ipi() local
40 nr_irqs = cpumask_weight(dest); in irq_reserve_ipi()
41 if (!nr_irqs) { in irq_reserve_ipi()
53 nr_irqs = 1; in irq_reserve_ipi()
78 virq = irq_domain_alloc_descs(-1, nr_irqs, 0, NUMA_NO_NODE, NULL); in irq_reserve_ipi()
84 virq = __irq_domain_alloc_irqs(domain, virq, nr_irqs, NUMA_NO_NODE, in irq_reserve_ipi()
92 for (i = 0; i < nr_irqs; i++) { in irq_reserve_ipi()
101 irq_free_descs(virq, nr_irqs); in irq_reserve_ipi()
120 unsigned int nr_irqs; in irq_destroy_ipi() local
144 nr_irqs = cpumask_weight(dest); in irq_destroy_ipi()
[all …]
H A Dirqdomain.c29 unsigned int nr_irqs, int node, void *arg,
1345 static void irq_domain_free_irq_data(unsigned int virq, unsigned int nr_irqs) in irq_domain_free_irq_data() argument
1350 for (i = 0; i < nr_irqs; i++) { in irq_domain_free_irq_data()
1437 unsigned int virq, unsigned int nr_irqs) in irq_domain_alloc_irq_data() argument
1444 for (i = 0; i < nr_irqs; i++) { in irq_domain_alloc_irq_data()
1534 unsigned int nr_irqs) in irq_domain_free_irqs_common() argument
1539 for (i = 0; i < nr_irqs; i++) { in irq_domain_free_irqs_common()
1544 irq_domain_free_irqs_parent(domain, virq, nr_irqs); in irq_domain_free_irqs_common()
1555 unsigned int nr_irqs) in irq_domain_free_irqs_top() argument
1559 for (i = 0; i < nr_irqs; i++) { in irq_domain_free_irqs_top()
[all …]
H A Dirqdesc.c142 static unsigned int nr_irqs = NR_IRQS; variable
149 return nr_irqs; in irq_get_nr_irqs()
161 nr_irqs = nr; in irq_set_nr_irqs()
189 desc = mt_find(&sparse_irqs, &index, nr_irqs); in irq_find_at_or_after()
191 return desc ? irq_desc_get_irq(desc) : nr_irqs; in irq_find_at_or_after()
545 nr_irqs = nr; in irq_expand_nr_irqs()
559 NR_IRQS, nr_irqs, initcnt); in early_irq_init()
561 if (WARN_ON(nr_irqs > MAX_SPARSE_IRQS)) in early_irq_init()
562 nr_irqs = MAX_SPARSE_IRQS; in early_irq_init()
567 if (initcnt > nr_irqs) in early_irq_init()
[all …]
/linux/tools/testing/selftests/kvm/arm64/
H A Dvgic_irq.c27 uint32_t nr_irqs; /* number of KVM supported IRQs. */ member
235 for (i = 0; i < args->nr_irqs; i++) in reset_priorities()
410 uint32_t nr_irqs = args->nr_irqs; in test_injection() local
422 guest_inject(args, nr_irqs - 1, 1, f->cmd); in test_injection()
423 guest_inject(args, MIN_SPI, nr_irqs - MIN_SPI, f->cmd); in test_injection()
430 uint32_t bad_intid[] = { args->nr_irqs, 1020, 1024, 1120, 5120, ~0U, }; in test_injection_failure()
470 uint32_t i, nr_irqs = args->nr_irqs; in guest_code() local
476 for (i = 0; i < nr_irqs; i++) in guest_code()
479 for (i = MIN_SPI; i < nr_irqs; i++) in guest_code()
721 args->nr_irqs, args->level_sensitive, in print_args()
[all …]
/linux/include/linux/
H A Dirqdomain.h92 unsigned int nr_irqs, void *arg);
94 unsigned int nr_irqs);
331 int irq_domain_alloc_descs(int virq, unsigned int nr_irqs, irq_hw_number_t hwirq, int node,
565 int __irq_domain_alloc_irqs(struct irq_domain *domain, int irq_base, unsigned int nr_irqs,
568 void irq_domain_free_irqs(unsigned int virq, unsigned int nr_irqs);
581 static inline int irq_domain_alloc_irqs(struct irq_domain *domain, unsigned int nr_irqs, in irq_domain_alloc_irqs() argument
584 return __irq_domain_alloc_irqs(domain, -1, nr_irqs, node, arg, false, NULL); in irq_domain_alloc_irqs()
591 unsigned int nr_irqs);
592 void irq_domain_free_irqs_top(struct irq_domain *domain, unsigned int virq, unsigned int nr_irqs);
598 unsigned int nr_irqs, void *arg);
[all …]
/linux/drivers/acpi/riscv/
H A Dirq.c16 u32 nr_irqs; member
73 u32 *id, u32 *nr_irqs, u32 *nr_idcs) in riscv_acpi_get_gsi_info() argument
83 *nr_irqs = ext_intc_element->nr_irqs; in riscv_acpi_get_gsi_info()
103 gsi < (ext_intc_element->gsi_base + ext_intc_element->nr_irqs)) { in riscv_acpi_get_gsi_domain_id()
115 static int __init riscv_acpi_register_ext_intc(u32 gsi_base, u32 nr_irqs, u32 nr_idcs, in riscv_acpi_register_ext_intc() argument
125 ext_intc_element->nr_irqs = nr_irqs; in riscv_acpi_register_ext_intc()
196 gsi < (ext_intc_element->gsi_base + ext_intc_element->nr_irqs)) in riscv_acpi_get_gsi_handle()
/linux/arch/x86/platform/uv/
H A Duv_irq.c76 unsigned int nr_irqs, void *arg) in uv_domain_alloc() argument
83 if (nr_irqs > 1 || !info || info->type != X86_IRQ_ALLOC_TYPE_UV) in uv_domain_alloc()
91 ret = irq_domain_alloc_irqs_parent(domain, virq, nr_irqs, arg); in uv_domain_alloc()
108 unsigned int nr_irqs) in uv_domain_free() argument
112 BUG_ON(nr_irqs != 1); in uv_domain_free()
115 irq_domain_free_irqs_top(domain, virq, nr_irqs); in uv_domain_free()
/linux/arch/arm/mach-omap1/
H A Dirq.c188 unsigned long nr_irqs; in omap1_init_irq() local
213 nr_irqs = irq_bank_count * 32; in omap1_init_irq()
215 irq_base = irq_alloc_descs(-1, 0, nr_irqs, 0); in omap1_init_irq()
223 domain = irq_domain_create_legacy(NULL, nr_irqs, irq_base, 0, &irq_domain_simple_ops, NULL); in omap1_init_irq()
226 nr_irqs, irq_bank_count); in omap1_init_irq()
/linux/arch/arc/kernel/
H A Dmcip.c379 int nr_irqs; in idu_of_init() local
390 nr_irqs = mcip_idu_bcr_to_nr_irqs(idu_bcr); in idu_of_init()
392 pr_info("MCIP: IDU supports %u common irqs\n", nr_irqs); in idu_of_init()
394 domain = irq_domain_create_linear(of_fwnode_handle(intc), nr_irqs, in idu_of_init()
399 for (i = 0; i < nr_irqs; i++) { in idu_of_init()

12345678