Home
last modified time | relevance | path

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

1234567

/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-riscv-aplic-main.c29 u32 nr_irqs, i; in aplic_restore_states() local
44 nr_irqs = priv->nr_irqs; in aplic_restore_states()
45 for (i = 0; i < nr_irqs; i++) { in aplic_restore_states()
51 for (i = 0; i <= nr_irqs; i += 32) { in aplic_restore_states()
70 u32 i, nr_irqs; in aplic_save_states() local
73 nr_irqs = priv->nr_irqs; in aplic_save_states()
75 for (i = 0; i < nr_irqs; i++) { in aplic_save_states()
86 if (!(nr_irqs % 32)) { in aplic_save_states()
87 srcs = &priv->saved_hw_regs.srcs[nr_irqs]; in aplic_save_states()
88 srcs->ie = readl(regs + APLIC_SETIE_BASE + (nr_irqs / 32) * sizeof(u32)); in aplic_save_states()
[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-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()
195 if (fwspec->param[1] >= cd->nr_irqs) in mst_intc_domain_translate()
207 unsigned int nr_irqs, void *data) in mst_intc_domain_alloc() argument
223 for (i = 0; i < nr_irqs; i++) in mst_intc_domain_alloc()
240 return irq_domain_alloc_irqs_parent(domain, virq, nr_irqs, &parent_fwspec); in mst_intc_domain_alloc()
279 cd->nr_irqs = irq_end - irq_start + 1; in mst_intc_of_init()
280 domain = irq_domain_create_hierarchy(domain_parent, 0, cd->nr_irqs, of_fwnode_handle(dn), in mst_intc_of_init()
H A Dirq-riscv-rpmi-sysmsi.c58 u32 nr_irqs; member
244 priv->nr_irqs = rc; in rpmi_sysmsi_probe()
248 u32 nr_irqs; in rpmi_sysmsi_probe() local
251 &nr_irqs, NULL); in rpmi_sysmsi_probe()
259 if (nr_irqs != priv->nr_irqs) in rpmi_sysmsi_probe()
260 riscv_acpi_update_gsi_range(priv->gsi_base, priv->nr_irqs); in rpmi_sysmsi_probe()
294 priv->nr_irqs, priv, priv)) { in rpmi_sysmsi_probe()
306 dev_info(dev, "%u system MSIs registered\n", priv->nr_irqs); in rpmi_sysmsi_probe()
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-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
158 unsigned long align_mask = nr_irqs - 1; in gicv2m_irq_domain_alloc()
165 nr_irqs, align_mask, align_off); in gicv2m_irq_domain_alloc()
168 bitmap_set(v2m->bm, offset, nr_irqs); in gicv2m_irq_domain_alloc()
184 for (i = 0; i < nr_irqs; i++) { in gicv2m_irq_domain_alloc()
196 irq_domain_free_irqs_parent(domain, virq, nr_irqs); in gicv2m_irq_domain_alloc()
197 gicv2m_unalloc_msi(v2m, hwirq, nr_irqs); in gicv2m_irq_domain_alloc()
202 unsigned int virq, unsigned int nr_irqs) in gicv2m_irq_domain_free() argument
[all …]
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-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-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
834 unsigned int nr_irqs; in mpic_of_init() local
852 nr_irqs = FIELD_GET(MPIC_INT_CONTROL_NUMINT_MASK, readl(mpic->base + MPIC_INT_CONTROL)); in mpic_of_init()
[all …]
H A Dirq-sifive-plic.c350 unsigned int nr_irqs, void *arg) in plic_irq_domain_alloc() argument
361 for (i = 0; i < nr_irqs; i++) { in plic_irq_domain_alloc()
548 u32 *nr_irqs, u32 *nr_contexts, in plic_parse_nr_irqs_and_contexts() argument
554 rc = riscv_acpi_get_gsi_info(fwnode, gsi_base, id, nr_irqs, NULL); in plic_parse_nr_irqs_and_contexts()
569 rc = of_property_read_u32(to_of_node(fwnode), "riscv,ndev", nr_irqs); in plic_parse_nr_irqs_and_contexts()
622 u32 nr_irqs, parent_hwirq; in plic_probe() local
644 error = plic_parse_nr_irqs_and_contexts(fwnode, &nr_irqs, &nr_contexts, &gsi_base, &id); in plic_probe()
661 nr_irqs++; in plic_probe()
662 ACCESS_PRIVATE(priv, total_irqs) = nr_irqs; in plic_probe()
664 priv->irq_groups = DIV_ROUND_UP(nr_irqs, 32); in plic_probe()
[all …]
H A Dirq-sg2042-msi.c153 unsigned int nr_irqs, void *args) in sg204x_msi_middle_domain_alloc() argument
158 hwirq = sg204x_msi_allocate_hwirq(data, nr_irqs); in sg204x_msi_middle_domain_alloc()
162 for (i = 0; i < nr_irqs; i++) { in sg204x_msi_middle_domain_alloc()
173 sg204x_msi_free_hwirq(data, hwirq, nr_irqs); in sg204x_msi_middle_domain_alloc()
179 unsigned int nr_irqs) in sg204x_msi_middle_domain_free() argument
184 irq_domain_free_irqs_parent(domain, virq, nr_irqs); in sg204x_msi_middle_domain_free()
185 sg204x_msi_free_hwirq(data, d->hwirq, nr_irqs); in sg204x_msi_middle_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/arch/riscv/kvm/
H A Daia_aplic.c36 u32 nr_irqs; member
47 if (!irq || aplic->nr_irqs <= irq) in aplic_read_sourcecfg()
49 irqd = &aplic->irqs[array_index_nospec(irq, aplic->nr_irqs)]; in aplic_read_sourcecfg()
63 if (!irq || aplic->nr_irqs <= irq) in aplic_write_sourcecfg()
65 irqd = &aplic->irqs[array_index_nospec(irq, aplic->nr_irqs)]; in aplic_write_sourcecfg()
83 if (!irq || aplic->nr_irqs <= irq) in aplic_read_target()
85 irqd = &aplic->irqs[array_index_nospec(irq, aplic->nr_irqs)]; in aplic_read_target()
99 if (!irq || aplic->nr_irqs <= irq) in aplic_write_target()
101 irqd = &aplic->irqs[array_index_nospec(irq, aplic->nr_irqs)]; in aplic_write_target()
118 if (!irq || aplic->nr_irqs <= irq) in aplic_read_pending()
[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,
1379 static void irq_domain_free_irq_data(unsigned int virq, unsigned int nr_irqs) in irq_domain_free_irq_data() argument
1384 for (i = 0; i < nr_irqs; i++) { in irq_domain_free_irq_data()
1471 unsigned int virq, unsigned int nr_irqs) in irq_domain_alloc_irq_data() argument
1478 for (i = 0; i < nr_irqs; i++) { in irq_domain_alloc_irq_data()
1568 unsigned int nr_irqs) in irq_domain_free_irqs_common() argument
1573 for (i = 0; i < nr_irqs; i++) { in irq_domain_free_irqs_common()
1578 irq_domain_free_irqs_parent(domain, virq, nr_irqs); in irq_domain_free_irqs_common()
1589 unsigned int nr_irqs) in irq_domain_free_irqs_top() argument
1593 for (i = 0; i < nr_irqs; i++) { in irq_domain_free_irqs_top()
[all …]
H A Dirqdesc.c143 static unsigned int nr_irqs = NR_IRQS; variable
150 return nr_irqs; in irq_get_nr_irqs()
162 nr_irqs = nr; in irq_set_nr_irqs()
190 desc = mt_find(&sparse_irqs, &index, nr_irqs); in irq_find_at_or_after()
192 return desc ? irq_desc_get_irq(desc) : nr_irqs; in irq_find_at_or_after()
546 nr_irqs = nr; in irq_expand_nr_irqs()
560 NR_IRQS, nr_irqs, initcnt); in early_irq_init()
562 if (WARN_ON(nr_irqs > MAX_SPARSE_IRQS)) in early_irq_init()
563 nr_irqs = MAX_SPARSE_IRQS; in early_irq_init()
568 if (initcnt > nr_irqs) in early_irq_init()
[all …]
/linux/drivers/acpi/riscv/
H A Dirq.c18 u32 nr_irqs; member
75 int riscv_acpi_update_gsi_range(u32 gsi_base, u32 nr_irqs) in riscv_acpi_update_gsi_range() argument
82 ext_intc_element->nr_irqs = nr_irqs; in riscv_acpi_update_gsi_range()
92 u32 *id, u32 *nr_irqs, u32 *nr_idcs) in riscv_acpi_get_gsi_info() argument
102 *nr_irqs = ext_intc_element->nr_irqs; in riscv_acpi_get_gsi_info()
122 gsi < (ext_intc_element->gsi_base + ext_intc_element->nr_irqs)) { in riscv_acpi_get_gsi_domain_id()
134 static int __init riscv_acpi_register_ext_intc(u32 gsi_base, u32 nr_irqs, u32 nr_idcs, in riscv_acpi_register_ext_intc() argument
146 if (nr_irqs) { in riscv_acpi_register_ext_intc()
147 ext_intc_element->nr_irqs = nr_irqs; in riscv_acpi_register_ext_intc()
150 ext_intc_element->nr_irqs = U32_MAX - ext_intc_element->gsi_base; in riscv_acpi_register_ext_intc()
[all …]
/linux/tools/testing/selftests/kvm/arm64/
H A Dvgic_irq.c27 u32 nr_irqs; /* number of KVM supported IRQs. */ member
236 for (i = 0; i < args->nr_irqs; i++) in reset_priorities()
434 u32 nr_irqs = args->nr_irqs; in test_injection() local
446 guest_inject(args, nr_irqs - 1, 1, f->cmd); in test_injection()
447 guest_inject(args, MIN_SPI, nr_irqs - MIN_SPI, f->cmd); in test_injection()
454 u32 bad_intid[] = { args->nr_irqs, 1020, 1024, 1120, 5120, ~0U, }; in test_injection_failure()
493 u32 i, nr_irqs = args->nr_irqs; in guest_code() local
499 for (i = MIN_SPI; i < nr_irqs; i++) in guest_code()
502 for (i = 0; i < nr_irqs; i++) in guest_code()
745 args->nr_irqs, args->level_sensitive, in print_args()
[all …]
/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()

1234567