/linux/drivers/vfio/platform/ |
H A D | vfio_platform_irq.c | 49 if (!(vdev->irqs[index].flags & VFIO_IRQ_INFO_MASKABLE)) in vfio_platform_set_irq_mask() 56 return vfio_virqfd_enable((void *) &vdev->irqs[index], in vfio_platform_set_irq_mask() 59 &vdev->irqs[index].mask, fd); in vfio_platform_set_irq_mask() 61 vfio_virqfd_disable(&vdev->irqs[index].mask); in vfio_platform_set_irq_mask() 66 vfio_platform_mask(&vdev->irqs[index]); in vfio_platform_set_irq_mask() 72 vfio_platform_mask(&vdev->irqs[index]); in vfio_platform_set_irq_mask() 109 if (!(vdev->irqs[index].flags & VFIO_IRQ_INFO_MASKABLE)) in vfio_platform_set_irq_unmask() 116 return vfio_virqfd_enable((void *) &vdev->irqs[index], in vfio_platform_set_irq_unmask() 119 &vdev->irqs[index].unmask, in vfio_platform_set_irq_unmask() 122 vfio_virqfd_disable(&vdev->irqs[index].unmask); in vfio_platform_set_irq_unmask() [all …]
|
/linux/kernel/irq/ |
H A D | timings.c | 382 static u64 __irq_timings_next_event(struct irqt_stat *irqs, int irq, u64 now) in __irq_timings_next_event() argument 386 if ((now - irqs->last_ts) >= NSEC_PER_SEC) { in __irq_timings_next_event() 387 irqs->count = irqs->last_ts = 0; in __irq_timings_next_event() 396 period_max = irqs->count > (3 * PREDICTION_PERIOD_MAX) ? in __irq_timings_next_event() 397 PREDICTION_PERIOD_MAX : irqs->count / 3; in __irq_timings_next_event() 409 count = irqs->count < IRQ_TIMINGS_SIZE ? in __irq_timings_next_event() 410 irqs->count : IRQ_TIMINGS_SIZE; in __irq_timings_next_event() 412 start = irqs->count < IRQ_TIMINGS_SIZE ? in __irq_timings_next_event() 413 0 : (irqs in __irq_timings_next_event() 446 __irq_timings_store(int irq,struct irqt_stat * irqs,u64 interval) __irq_timings_store() argument 473 irq_timings_store(int irq,struct irqt_stat * irqs,u64 ts) irq_timings_store() argument 539 struct irqt_stat *irqs; irq_timings_next_event() local 777 struct irqt_stat *irqs; irq_timings_test_irqs() local [all...] |
/linux/arch/powerpc/platforms/powernv/ |
H A D | pci-cxl.c | 63 void pnv_cxl_release_hwirq_ranges(struct cxl_irq_ranges *irqs, in pnv_cxl_release_hwirq_ranges() argument 71 if (!irqs->range[i]) in pnv_cxl_release_hwirq_ranges() 74 i, irqs->offset[i], in pnv_cxl_release_hwirq_ranges() 75 irqs->range[i]); in pnv_cxl_release_hwirq_ranges() 76 hwirq = irqs->offset[i] - phb->msi_base; in pnv_cxl_release_hwirq_ranges() 78 irqs->range[i]); in pnv_cxl_release_hwirq_ranges() 83 int pnv_cxl_alloc_hwirq_ranges(struct cxl_irq_ranges *irqs, in pnv_cxl_alloc_hwirq_ranges() argument 90 memset(irqs, 0, sizeof(struct cxl_irq_ranges)); in pnv_cxl_alloc_hwirq_ranges() 104 irqs->offset[i] = phb->msi_base + hwirq; in pnv_cxl_alloc_hwirq_ranges() 105 irqs->range[i] = try; in pnv_cxl_alloc_hwirq_ranges() [all …]
|
/linux/drivers/crypto/intel/qat/qat_common/ |
H A D | adf_isr.c | 181 struct adf_irq *irqs = pci_dev_info->msix_entries.irqs; in adf_free_irqs() local 188 if (irqs[i].enabled) { in adf_free_irqs() 196 if (irqs[i].enabled) { in adf_free_irqs() 206 struct adf_irq *irqs = pci_dev_info->msix_entries.irqs; in adf_request_irqs() local 218 name = irqs[i].name; in adf_request_irqs() 241 irqs[i].enabled = true; in adf_request_irqs() 246 name = irqs[i].name; in adf_request_irqs() 263 irqs[i].enabled = true; in adf_request_irqs() 274 struct adf_irq *irqs; in adf_isr_alloc_msix_vectors_data() local 280 irqs = kcalloc_node(msix_num_entries, sizeof(*irqs), in adf_isr_alloc_msix_vectors_data() [all …]
|
/linux/Documentation/devicetree/bindings/arm/omap/ |
H A D | crossbar.txt | 13 - ti,max-irqs: Total number of irqs available at the parent interrupt controller. 17 - ti,irqs-reserved: List of the reserved irq lines that are not muxed using 23 - ti,irqs-skip: This is similar to "ti,irqs-reserved", but these are for 24 SOC-specific hard-wiring of those irqs which unexpectedly bypasses the 25 crossbar. These irqs have a crossbar register, but still cannot be used. 27 - ti,irqs-safe-map: integer which maps to a safe configuration to use 34 ti,max-irqs = <160>; 37 ti,irqs-reserved = <0 1 2 3 5 6 131 132>; 38 ti,irqs-skip = <10 133 139 140>;
|
/linux/drivers/bus/fsl-mc/ |
H A D | fsl-mc-allocator.c | 449 struct fsl_mc_device_irq **irqs = NULL; in fsl_mc_allocate_irqs() local 453 if (mc_dev->irqs) in fsl_mc_allocate_irqs() 475 irqs = devm_kcalloc(&mc_dev->dev, irq_count, sizeof(irqs[0]), in fsl_mc_allocate_irqs() 477 if (!irqs) in fsl_mc_allocate_irqs() 488 irqs[i] = to_fsl_mc_irq(resource); in fsl_mc_allocate_irqs() 491 irqs[i]->mc_dev = mc_dev; in fsl_mc_allocate_irqs() 492 irqs[i]->dev_irq_index = i; in fsl_mc_allocate_irqs() 495 mc_dev->irqs = irqs; in fsl_mc_allocate_irqs() 500 irqs[i]->mc_dev = NULL; in fsl_mc_allocate_irqs() 501 fsl_mc_resource_free(&irqs[i]->resource); in fsl_mc_allocate_irqs() [all …]
|
/linux/drivers/base/ |
H A D | auxiliary_sysfs.c | 38 xa_init(&auxdev->sysfs.irqs); in auxiliary_irq_dir_prepare() 73 ret = xa_insert(&auxdev->sysfs.irqs, irq, info, GFP_KERNEL); in auxiliary_device_sysfs_irq_add() 83 xa_store(&auxdev->sysfs.irqs, irq, no_free_ptr(info), GFP_KERNEL); in auxiliary_device_sysfs_irq_add() 87 xa_erase(&auxdev->sysfs.irqs, irq); in auxiliary_device_sysfs_irq_add() 102 struct auxiliary_irq_info *info __free(kfree) = xa_load(&auxdev->sysfs.irqs, irq); in auxiliary_device_sysfs_irq_remove() 111 xa_erase(&auxdev->sysfs.irqs, irq); in auxiliary_device_sysfs_irq_remove()
|
/linux/drivers/pcmcia/ |
H A D | sa1111_generic.c | 141 int i, ret = 0, irqs[NUM_IRQS]; in sa1111_pcmcia_add() local 148 irqs[i] = sa1111_get_irq(dev, i); in sa1111_pcmcia_add() 149 if (irqs[i] <= 0) in sa1111_pcmcia_add() 150 return irqs[i] ? : -ENXIO; in sa1111_pcmcia_add() 166 s->soc.socket.pci_irq = irqs[IDX_IRQ_S1_READY_NINT]; in sa1111_pcmcia_add() 167 s->soc.stat[SOC_STAT_CD].irq = irqs[IDX_IRQ_S1_CD_VALID]; in sa1111_pcmcia_add() 169 s->soc.stat[SOC_STAT_BVD1].irq = irqs[IDX_IRQ_S1_BVD1_STSCHG]; in sa1111_pcmcia_add() 172 s->soc.socket.pci_irq = irqs[IDX_IRQ_S0_READY_NINT]; in sa1111_pcmcia_add() 173 s->soc.stat[SOC_STAT_CD].irq = irqs[IDX_IRQ_S0_CD_VALID]; in sa1111_pcmcia_add() 175 s->soc.stat[SOC_STAT_BVD1].irq = irqs[IDX_IRQ_S0_BVD1_STSCHG]; in sa1111_pcmcia_add()
|
/linux/drivers/irqchip/ |
H A D | irq-nvic.c | 76 unsigned int irqs, i, ret, numbanks; in nvic_of_init() local 88 irqs = numbanks * 32; in nvic_of_init() 89 if (irqs > NVIC_MAX_IRQ) in nvic_of_init() 90 irqs = NVIC_MAX_IRQ; in nvic_of_init() 93 irq_domain_add_linear(node, irqs, &nvic_irq_domain_ops, NULL); in nvic_of_init() 130 for (i = 0; i < irqs; i += 4) in nvic_of_init()
|
H A D | irq-ingenic-tcu.c | 96 int ret, irqs; in ingenic_tcu_irq_init() local 108 irqs = of_property_count_elems_of_size(np, "interrupts", sizeof(u32)); in ingenic_tcu_irq_init() 109 if (irqs < 0 || irqs > ARRAY_SIZE(tcu->parent_irqs)) { in ingenic_tcu_irq_init() 115 tcu->nb_parent_irqs = irqs; in ingenic_tcu_irq_init() 159 for (i = 0; i < irqs; i++) { in ingenic_tcu_irq_init()
|
/linux/arch/powerpc/platforms/ps3/ |
H A D | spu.c | 246 0, &spu->irqs[0]); in setup_interrupts() 252 1, &spu->irqs[1]); in setup_interrupts() 258 2, &spu->irqs[2]); in setup_interrupts() 266 ps3_spe_irq_destroy(spu->irqs[1]); in setup_interrupts() 268 ps3_spe_irq_destroy(spu->irqs[0]); in setup_interrupts() 270 spu->irqs[0] = spu->irqs[1] = spu->irqs[2] = 0; in setup_interrupts() 316 ps3_spe_irq_destroy(spu->irqs[2]); in ps3_destroy_spu() 317 ps3_spe_irq_destroy(spu->irqs[1]); in ps3_destroy_spu() 318 ps3_spe_irq_destroy(spu->irqs[0]); in ps3_destroy_spu() 320 spu->irqs[0] = spu->irqs[1] = spu->irqs[2] = 0; in ps3_destroy_spu()
|
/linux/drivers/misc/cxl/ |
H A D | irq.c | 192 irq_off = hwirq - ctx->irqs.offset[r]; in cxl_irq_afu() 193 range = ctx->irqs.range[r]; in cxl_irq_afu() 311 if ((rc = cxl_ops->alloc_irq_ranges(&ctx->irqs, ctx->afu->adapter, in afu_allocate_irqs() 317 ctx->irqs.offset[0] = ctx->afu->native->psl_hwirq; in afu_allocate_irqs() 318 ctx->irqs.range[0] = 1; in afu_allocate_irqs() 331 for (i = 0; i < ctx->irqs.range[r]; i++) { in afu_allocate_irqs() 351 cxl_ops->release_irq_ranges(&ctx->irqs, ctx->afu->adapter); in afu_allocate_irqs() 367 hwirq = ctx->irqs.offset[r]; in afu_register_hwirqs() 368 for (i = 0; i < ctx->irqs.range[r]; hwirq++, i++) { in afu_register_hwirqs() 409 hwirq = ctx->irqs.offset[r]; in afu_release_irqs() [all …]
|
/linux/samples/pktgen/ |
H A D | functions.sh | 151 irqs=$(grep "$queues" /proc/interrupts | cut -f1 -d:) 152 [ -z "$irqs" ] && irqs=$(grep $IFACE /proc/interrupts | cut -f1 -d:) 153 [ -z "$irqs" ] && irqs=$(for i in `ls -Ux /sys/class/net/$IFACE/device/msi_irqs` ;\ 156 [ -z "$irqs" ] && err 3 "Could not find interrupts for $IFACE" 158 echo $irqs
|
/linux/drivers/pci/pcie/ |
H A D | portdrv.c | 113 static int pcie_port_enable_irq_vec(struct pci_dev *dev, int *irqs, int mask) in pcie_port_enable_irq_vec() argument 155 irqs[PCIE_PORT_SERVICE_PME_SHIFT] = pcie_irq; in pcie_port_enable_irq_vec() 156 irqs[PCIE_PORT_SERVICE_HP_SHIFT] = pcie_irq; in pcie_port_enable_irq_vec() 157 irqs[PCIE_PORT_SERVICE_BWCTRL_SHIFT] = pcie_irq; in pcie_port_enable_irq_vec() 161 irqs[PCIE_PORT_SERVICE_AER_SHIFT] = pci_irq_vector(dev, aer); in pcie_port_enable_irq_vec() 164 irqs[PCIE_PORT_SERVICE_DPC_SHIFT] = pci_irq_vector(dev, dpc); in pcie_port_enable_irq_vec() 177 static int pcie_init_service_irqs(struct pci_dev *dev, int *irqs, int mask) in pcie_init_service_irqs() argument 182 irqs[i] = -1; in pcie_init_service_irqs() 193 if (pcie_port_enable_irq_vec(dev, irqs, mask) == 0) in pcie_init_service_irqs() 203 irqs[i] = pci_irq_vector(dev, 0); in pcie_init_service_irqs() [all …]
|
/linux/arch/powerpc/platforms/cell/ |
H A D | spu_base.c | 387 if (spu->irqs[0]) { in spu_request_irqs() 390 ret = request_irq(spu->irqs[0], spu_irq_class_0, in spu_request_irqs() 395 if (spu->irqs[1]) { in spu_request_irqs() 398 ret = request_irq(spu->irqs[1], spu_irq_class_1, in spu_request_irqs() 403 if (spu->irqs[2]) { in spu_request_irqs() 406 ret = request_irq(spu->irqs[2], spu_irq_class_2, in spu_request_irqs() 414 if (spu->irqs[1]) in spu_request_irqs() 415 free_irq(spu->irqs[1], spu); in spu_request_irqs() 417 if (spu->irqs[0]) in spu_request_irqs() 418 free_irq(spu->irqs[0], spu); in spu_request_irqs() [all …]
|
/linux/drivers/pci/hotplug/ |
H A D | cpqphp_ctrl.c | 1524 res_lists.irqs = NULL; in board_added() 2331 struct irq_mapping irqs; in configure_new_function() local 2411 if (!resources->irqs) { in configure_new_function() 2412 irqs.barber_pole = 0; in configure_new_function() 2413 irqs.interrupt[0] = 0; in configure_new_function() 2414 irqs.interrupt[1] = 0; in configure_new_function() 2415 irqs.interrupt[2] = 0; in configure_new_function() 2416 irqs.interrupt[3] = 0; in configure_new_function() 2417 irqs.valid_INT = 0; in configure_new_function() 2419 irqs.barber_pole = resources->irqs->barber_pole; in configure_new_function() [all …]
|
/linux/drivers/misc/ |
H A D | hi6421v600-irq.c | 23 unsigned int *irqs; member 119 generic_handle_irq_safe(priv->irqs[POWERKEY_DOWN]); in hi6421v600_irq_handler() 120 generic_handle_irq_safe(priv->irqs[POWERKEY_UP]); in hi6421v600_irq_handler() 128 generic_handle_irq_safe(priv->irqs[offset + i * BITS_PER_BYTE]); in hi6421v600_irq_handler() 253 priv->irqs = devm_kzalloc(dev, PMIC_IRQ_LIST_MAX * sizeof(int), GFP_KERNEL); in hi6421v600_irq_probe() 254 if (!priv->irqs) in hi6421v600_irq_probe() 270 priv->irqs[i] = virq; in hi6421v600_irq_probe()
|
/linux/drivers/gpio/ |
H A D | gpio-reg.c | 28 const int *irqs; member 110 int irq = r->irqs[offset]; in gpio_reg_to_irq() 141 const char *const *names, struct irq_domain *irqdom, const int *irqs) in gpio_reg_init() argument 163 if (irqs) in gpio_reg_init() 171 r->irqs = irqs; in gpio_reg_init()
|
/linux/drivers/ssb/ |
H A D | driver_gpio.c | 128 unsigned long irqs = (val ^ pol) & mask; in ssb_gpio_irq_chipco_handler() local 131 if (!irqs) in ssb_gpio_irq_chipco_handler() 134 for_each_set_bit(gpio, &irqs, bus->gpio.ngpio) in ssb_gpio_irq_chipco_handler() 137 ssb_chipco_gpio_polarity(chipco, irqs, val & irqs); in ssb_gpio_irq_chipco_handler() 327 unsigned long irqs = (val ^ pol) & mask; in ssb_gpio_irq_extif_handler() local 330 if (!irqs) in ssb_gpio_irq_extif_handler() 333 for_each_set_bit(gpio, &irqs, bus->gpio.ngpio) in ssb_gpio_irq_extif_handler() 336 ssb_extif_gpio_polarity(extif, irqs, val & irqs); in ssb_gpio_irq_extif_handler()
|
/linux/drivers/power/supply/ |
H A D | axp20x_ac_power.c | 48 unsigned int irqs[] __counted_by(num_irqs); 297 enable_irq_wake(power->irqs[i++]); in axp20x_ac_power_suspend() 299 disable_irq(power->irqs[i++]); in axp20x_ac_power_suspend() 310 disable_irq_wake(power->irqs[i++]); in axp20x_ac_power_resume() 312 enable_irq(power->irqs[i++]); in axp20x_ac_power_resume() 340 struct_size(power, irqs, axp_data->num_irq_names), in axp20x_ac_power_probe() 382 power->irqs[i] = regmap_irq_get_virq(axp20x->regmap_irqc, irq); in axp20x_ac_power_probe() 383 ret = devm_request_any_context_irq(&pdev->dev, power->irqs[i], in axp20x_ac_power_probe()
|
/linux/tools/testing/selftests/kvm/s390x/ |
H A D | resets.c |
|
/linux/drivers/mfd/ |
H A D | motorola-cpcap.c | 29 struct regmap_irq *irqs; member 147 struct regmap_irq *rirq = &cpcap->irqs[i]; in cpcap_init_irq_chip() 151 chip->irqs = &cpcap->irqs[irq_start]; in cpcap_init_irq_chip() 173 cpcap->irqs = devm_kzalloc(&cpcap->spi->dev, in cpcap_init_irq() 174 array3_size(sizeof(*cpcap->irqs), in cpcap_init_irq() 178 if (!cpcap->irqs) in cpcap_init_irq()
|
H A D | sprd-sc27xx-spi.c | 40 struct regmap_irq *irqs; member 189 ddata->irqs = devm_kcalloc(&spi->dev, in sprd_pmic_probe() 192 if (!ddata->irqs) in sprd_pmic_probe() 195 ddata->irq_chip.irqs = ddata->irqs; in sprd_pmic_probe() 197 ddata->irqs[i].mask = BIT(i); in sprd_pmic_probe()
|
/linux/drivers/edac/ |
H A D | dmc520_edac.c | 172 int irqs[NUMBER_OF_IRQS]; member 435 if (pvt->irqs[idx] == irq) { in dmc520_isr() 476 int irqs[NUMBER_OF_IRQS] = { -ENXIO }; in dmc520_edac_probe() local 492 irqs[idx] = irq; in dmc520_edac_probe() 530 memcpy(pvt->irqs, irqs, sizeof(irqs)); in dmc520_edac_probe() 558 irq = irqs[idx]; in dmc520_edac_probe() 595 devm_free_irq(&pdev->dev, pvt->irqs[idx], mci); in dmc520_edac_probe() 619 if (pvt->irqs[idx] >= 0) { in dmc520_edac_remove() 621 devm_free_irq(&pdev->dev, pvt->irqs[idx], mci); in dmc520_edac_remove()
|
/linux/drivers/input/serio/ |
H A D | i8042-sparcio.h | 65 unsigned int irq = kbd->archdata.irqs[0]; in sparc_i8042_probe() 67 irq = op->archdata.irqs[0]; in sparc_i8042_probe() 75 unsigned int irq = ms->archdata.irqs[0]; in sparc_i8042_probe() 77 irq = op->archdata.irqs[0]; in sparc_i8042_probe()
|