| /linux/drivers/irqchip/ |
| H A D | spear-shirq.c | 47 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 D | irq-riscv-aplic-main.c | 29 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 D | irq-hip04.c | 56 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 D | irq-bcm2712-mip.c | 72 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 D | irq-mmp.c | 39 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 D | irq-gic-v3-mbi.c | 78 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 D | irq-mst-intc.c | 30 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 D | irq-riscv-rpmi-sysmsi.c | 58 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 D | irq-alpine-msi.c | 106 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 D | irq-gic-v2m.c | 143 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 D | irq-loongson-pch-msi.c | 94 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 D | irq-ixp4xx.c | 153 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 D | irq-armada-370-xp.c | 269 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 D | irq-sifive-plic.c | 350 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 D | irq-sg2042-msi.c | 153 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 D | pcie-iproc-msi.c | 97 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 D | aia_aplic.c | 36 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 D | hyperv-iommu.c | 66 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 D | ipi.c | 26 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 D | irqdomain.c | 29 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 D | irqdesc.c | 143 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 D | irq.c | 18 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 D | vgic_irq.c | 27 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 D | uv_irq.c | 76 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 D | irq.c | 188 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()
|