/Linux-v6.1/kernel/irq/ |
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->count & IRQ_TIMINGS_MASK); in __irq_timings_next_event() 424 irqs->timings[i] = irqs->circ_timings[index]; in __irq_timings_next_event() [all …]
|
/Linux-v6.1/drivers/vfio/platform/ |
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-v6.1/arch/powerpc/platforms/powernv/ |
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-v6.1/drivers/crypto/qat/qat_common/ |
D | adf_isr.c | 158 struct adf_irq *irqs = pci_dev_info->msix_entries.irqs; in adf_free_irqs() local 165 if (irqs[i].enabled) { in adf_free_irqs() 173 if (irqs[i].enabled) { in adf_free_irqs() 183 struct adf_irq *irqs = pci_dev_info->msix_entries.irqs; in adf_request_irqs() local 195 name = irqs[i].name; in adf_request_irqs() 218 irqs[i].enabled = true; in adf_request_irqs() 223 name = irqs[i].name; in adf_request_irqs() 240 irqs[i].enabled = true; in adf_request_irqs() 251 struct adf_irq *irqs; in adf_isr_alloc_msix_vectors_data() local 257 irqs = kzalloc_node(msix_num_entries * sizeof(*irqs), in adf_isr_alloc_msix_vectors_data() [all …]
|
/Linux-v6.1/Documentation/devicetree/bindings/arm/omap/ |
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-v6.1/drivers/staging/media/atomisp/pci/ |
D | gp_timer_defs.h | 28 …IVE_GP_TIMER_IRQ_TIMER_SELECT_REG_IDX(irq, timers, irqs) (HIVE_GP_TIMER_IRQ_TRIGGER_VALUE_REG_IDX(… argument 29 …GP_TIMER_IRQ_ENABLE_REG_IDX(irq, timers, irqs) (HIVE_GP_TIMER_IRQ_TIMER_SELECT_REG_IDX(irqs,… argument
|
/Linux-v6.1/drivers/net/ethernet/mellanox/mlx5/core/ |
D | mlx5_irq.h | 30 struct mlx5_irq **irqs); 31 void mlx5_irqs_release_vectors(struct mlx5_irq **irqs, int nirqs); 40 struct mlx5_irq **irqs); 43 void mlx5_irq_affinity_irqs_release(struct mlx5_core_dev *dev, struct mlx5_irq **irqs, 47 struct mlx5_irq **irqs) in mlx5_irq_affinity_irqs_request_auto() argument 59 struct mlx5_irq **irqs, int num_irqs) {} in mlx5_irq_affinity_irqs_release() argument
|
D | irq_affinity.c | 57 err = xa_alloc(&pool->irqs, &irq_index, NULL, pool->xa_num_irqs, GFP_KERNEL); in irq_pool_request_irq() 94 xa_for_each_range(&pool->irqs, index, iter, start, end) { in irq_pool_find_least_loaded() 161 void mlx5_irq_affinity_irqs_release(struct mlx5_core_dev *dev, struct mlx5_irq **irqs, in mlx5_irq_affinity_irqs_release() argument 168 int cpu = cpumask_first(mlx5_irq_get_affinity_mask(irqs[i])); in mlx5_irq_affinity_irqs_release() 171 mlx5_irq_get_index(irqs[i]))); in mlx5_irq_affinity_irqs_release() 172 if (mlx5_irq_put(irqs[i])) in mlx5_irq_affinity_irqs_release() 194 struct mlx5_irq **irqs) in mlx5_irq_affinity_irqs_request_auto() argument 215 irqs[i] = irq; in mlx5_irq_affinity_irqs_request_auto()
|
D | pci_irq.c | 130 xa_erase(&pool->irqs, irq->index); in irq_release() 245 err = xa_err(xa_store(&pool->irqs, irq->index, irq, GFP_KERNEL)); in mlx5_irq_alloc() 307 irq = xa_load(&pool->irqs, vecidx); in irq_pool_request_vector() 361 static void mlx5_irqs_release(struct mlx5_irq **irqs, int nirqs) in mlx5_irqs_release() argument 366 synchronize_irq(irqs[i]->irqn); in mlx5_irqs_release() 367 mlx5_irq_put(irqs[i]); in mlx5_irqs_release() 443 void mlx5_irqs_release_vectors(struct mlx5_irq **irqs, int nirqs) in mlx5_irqs_release_vectors() argument 445 mlx5_irqs_release(irqs, nirqs); in mlx5_irqs_release_vectors() 462 struct mlx5_irq **irqs) in mlx5_irqs_request_vectors() argument 476 irqs[i] = irq; in mlx5_irqs_request_vectors() [all …]
|
/Linux-v6.1/drivers/bus/fsl-mc/ |
D | fsl-mc-allocator.c | 443 struct fsl_mc_device_irq **irqs = NULL; in fsl_mc_allocate_irqs() local 447 if (mc_dev->irqs) in fsl_mc_allocate_irqs() 469 irqs = devm_kcalloc(&mc_dev->dev, irq_count, sizeof(irqs[0]), in fsl_mc_allocate_irqs() 471 if (!irqs) in fsl_mc_allocate_irqs() 482 irqs[i] = to_fsl_mc_irq(resource); in fsl_mc_allocate_irqs() 485 irqs[i]->mc_dev = mc_dev; in fsl_mc_allocate_irqs() 486 irqs[i]->dev_irq_index = i; in fsl_mc_allocate_irqs() 489 mc_dev->irqs = irqs; in fsl_mc_allocate_irqs() 494 irqs[i]->mc_dev = NULL; in fsl_mc_allocate_irqs() 495 fsl_mc_resource_free(&irqs[i]->resource); in fsl_mc_allocate_irqs() [all …]
|
/Linux-v6.1/drivers/pci/pcie/ |
D | portdrv_core.c | 101 static int pcie_port_enable_irq_vec(struct pci_dev *dev, int *irqs, int mask) in pcie_port_enable_irq_vec() argument 143 irqs[PCIE_PORT_SERVICE_PME_SHIFT] = pcie_irq; in pcie_port_enable_irq_vec() 144 irqs[PCIE_PORT_SERVICE_HP_SHIFT] = pcie_irq; in pcie_port_enable_irq_vec() 145 irqs[PCIE_PORT_SERVICE_BWNOTIF_SHIFT] = pcie_irq; in pcie_port_enable_irq_vec() 149 irqs[PCIE_PORT_SERVICE_AER_SHIFT] = pci_irq_vector(dev, aer); in pcie_port_enable_irq_vec() 152 irqs[PCIE_PORT_SERVICE_DPC_SHIFT] = pci_irq_vector(dev, dpc); in pcie_port_enable_irq_vec() 165 static int pcie_init_service_irqs(struct pci_dev *dev, int *irqs, int mask) in pcie_init_service_irqs() argument 170 irqs[i] = -1; in pcie_init_service_irqs() 181 if (pcie_port_enable_irq_vec(dev, irqs, mask) == 0) in pcie_init_service_irqs() 191 irqs[i] = pci_irq_vector(dev, 0); in pcie_init_service_irqs() [all …]
|
/Linux-v6.1/drivers/irqchip/ |
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()
|
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-v6.1/drivers/pci/controller/ |
D | vmd.c | 117 struct vmd_irq_list *irqs; member 135 struct vmd_irq_list *irqs) in index_from_irqs() argument 137 return irqs - vmd->irqs; in index_from_irqs() 226 return &vmd->irqs[vmd->first_vec]; in vmd_next_irq() 236 return &vmd->irqs[vmd->first_vec]; in vmd_next_irq() 242 if (vmd->irqs[i].count < vmd->irqs[best].count) in vmd_next_irq() 244 vmd->irqs[best].count++; in vmd_next_irq() 247 return &vmd->irqs[best]; in vmd_next_irq() 649 struct vmd_irq_list *irqs = data; in vmd_irq() local 653 idx = srcu_read_lock(&irqs->srcu); in vmd_irq() [all …]
|
/Linux-v6.1/drivers/pcmcia/ |
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-v6.1/arch/powerpc/platforms/ps3/ |
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-v6.1/drivers/misc/cxl/ |
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-v6.1/samples/pktgen/ |
D | functions.sh | 150 irqs=$(grep "$queues" /proc/interrupts | cut -f1 -d:) 151 [ -z "$irqs" ] && irqs=$(grep $IFACE /proc/interrupts | cut -f1 -d:) 152 [ -z "$irqs" ] && irqs=$(for i in `ls -Ux /sys/class/net/$IFACE/device/msi_irqs` ;\ 155 [ -z "$irqs" ] && err 3 "Could not find interrupts for $IFACE" 157 echo $irqs
|
/Linux-v6.1/drivers/misc/ |
D | hi6421v600-irq.c | 24 unsigned int *irqs; member 120 generic_handle_irq_safe(priv->irqs[POWERKEY_DOWN]); in hi6421v600_irq_handler() 121 generic_handle_irq_safe(priv->irqs[POWERKEY_UP]); in hi6421v600_irq_handler() 129 generic_handle_irq_safe(priv->irqs[offset + i * BITS_PER_BYTE]); in hi6421v600_irq_handler() 256 priv->irqs = devm_kzalloc(dev, PMIC_IRQ_LIST_MAX * sizeof(int), GFP_KERNEL); in hi6421v600_irq_probe() 257 if (!priv->irqs) in hi6421v600_irq_probe() 273 priv->irqs[i] = virq; in hi6421v600_irq_probe()
|
/Linux-v6.1/arch/powerpc/platforms/cell/ |
D | spu_base.c | 393 if (spu->irqs[0]) { in spu_request_irqs() 396 ret = request_irq(spu->irqs[0], spu_irq_class_0, in spu_request_irqs() 401 if (spu->irqs[1]) { in spu_request_irqs() 404 ret = request_irq(spu->irqs[1], spu_irq_class_1, in spu_request_irqs() 409 if (spu->irqs[2]) { in spu_request_irqs() 412 ret = request_irq(spu->irqs[2], spu_irq_class_2, in spu_request_irqs() 420 if (spu->irqs[1]) in spu_request_irqs() 421 free_irq(spu->irqs[1], spu); in spu_request_irqs() 423 if (spu->irqs[0]) in spu_request_irqs() 424 free_irq(spu->irqs[0], spu); in spu_request_irqs() [all …]
|
/Linux-v6.1/drivers/gpio/ |
D | gpio-reg.c | 20 const int *irqs; member 102 int irq = r->irqs[offset]; in gpio_reg_to_irq() 133 const char *const *names, struct irq_domain *irqdom, const int *irqs) in gpio_reg_init() argument 155 if (irqs) in gpio_reg_init() 163 r->irqs = irqs; in gpio_reg_init()
|
/Linux-v6.1/drivers/pci/hotplug/ |
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-v6.1/tools/testing/selftests/kvm/s390x/ |
D | resets.c | 71 int irqs; in assert_noirq() local 75 irqs = __vcpu_ioctl(vcpu, KVM_S390_GET_IRQ_STATE, &irq_state); in assert_noirq() 81 TEST_ASSERT(irqs >= 0, "Could not fetch IRQs: errno %d\n", errno); in assert_noirq() 82 TEST_ASSERT(!irqs, "IRQ pending"); in assert_noirq() 194 int irqs; in inject_irq() local 201 irqs = __vcpu_ioctl(vcpu, KVM_S390_SET_IRQ_STATE, &irq_state); in inject_irq() 202 TEST_ASSERT(irqs >= 0, "Error injecting EMERGENCY IRQ errno %d\n", errno); in inject_irq()
|
/Linux-v6.1/drivers/power/supply/ |
D | axp20x_ac_power.c | 49 unsigned int irqs[]; member 298 enable_irq_wake(power->irqs[i++]); in axp20x_ac_power_suspend() 300 disable_irq(power->irqs[i++]); in axp20x_ac_power_suspend() 311 disable_irq_wake(power->irqs[i++]); in axp20x_ac_power_resume() 313 enable_irq(power->irqs[i++]); in axp20x_ac_power_resume() 341 struct_size(power, irqs, axp_data->num_irq_names), in axp20x_ac_power_probe() 383 power->irqs[i] = regmap_irq_get_virq(axp20x->regmap_irqc, irq); in axp20x_ac_power_probe() 384 ret = devm_request_any_context_irq(&pdev->dev, power->irqs[i], in axp20x_ac_power_probe()
|
/Linux-v6.1/drivers/ssb/ |
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()
|