/linux-6.12.1/drivers/irqchip/ |
D | irq-sl28cpld.c | 39 struct sl28cpld_intc *irqchip; in sl28cpld_intc_probe() local 47 irqchip = devm_kzalloc(dev, sizeof(*irqchip), GFP_KERNEL); in sl28cpld_intc_probe() 48 if (!irqchip) in sl28cpld_intc_probe() 51 irqchip->regmap = dev_get_regmap(dev->parent, NULL); in sl28cpld_intc_probe() 52 if (!irqchip->regmap) in sl28cpld_intc_probe() 63 irqchip->chip.name = "sl28cpld-intc"; in sl28cpld_intc_probe() 64 irqchip->chip.irqs = sl28cpld_irqs; in sl28cpld_intc_probe() 65 irqchip->chip.num_irqs = ARRAY_SIZE(sl28cpld_irqs); in sl28cpld_intc_probe() 66 irqchip->chip.num_regs = 1; in sl28cpld_intc_probe() 67 irqchip->chip.status_base = base + INTC_IP; in sl28cpld_intc_probe() [all …]
|
D | irq-ixp4xx.c | 53 struct irq_chip irqchip; member 177 &ixi->irqchip, in ixp4xx_irq_domain_alloc() 232 ixi->irqchip.name = "IXP4xx"; in ixp4xx_irq_setup() 233 ixi->irqchip.irq_mask = ixp4xx_irq_mask; in ixp4xx_irq_setup() 234 ixi->irqchip.irq_unmask = ixp4xx_irq_unmask; in ixp4xx_irq_setup() 235 ixi->irqchip.irq_set_type = ixp4xx_set_irq_type; in ixp4xx_irq_setup()
|
D | irq-al-fic.c | 110 struct irq_chip *irqchip = irq_desc_get_chip(desc); in al_fic_irq_handler() local 115 chained_irq_enter(irqchip, desc); in al_fic_irq_handler() 123 chained_irq_exit(irqchip, desc); in al_fic_irq_handler()
|
D | irqchip.c | 32 acpi_probe_device_table(irqchip); in irqchip_init()
|
/linux-6.12.1/arch/arm64/kvm/vgic/ |
D | vgic-irqfd.c | 22 unsigned int spi_id = e->irqchip.pin + VGIC_NR_PRIVATE_IRQS; in vgic_irqfd_set_irq() 47 e->irqchip.irqchip = ue->u.irqchip.irqchip; in kvm_set_routing_entry() 48 e->irqchip.pin = ue->u.irqchip.pin; in kvm_set_routing_entry() 49 if ((e->irqchip.pin >= KVM_IRQCHIP_NUM_PINS) || in kvm_set_routing_entry() 50 (e->irqchip.irqchip >= KVM_NR_IRQCHIPS)) in kvm_set_routing_entry() 150 entries[i].u.irqchip.irqchip = 0; in kvm_vgic_setup_default_irq_routing() 151 entries[i].u.irqchip.pin = i; in kvm_vgic_setup_default_irq_routing()
|
/linux-6.12.1/arch/riscv/kvm/ |
D | vm.c | 89 return kvm_riscv_aia_inject_irq(kvm, e->irqchip.pin, level); in kvm_riscv_set_irq() 104 ents[i].u.irqchip.irqchip = 0; in kvm_riscv_setup_default_irq_routing() 105 ents[i].u.irqchip.pin = i; in kvm_riscv_setup_default_irq_routing() 127 e->irqchip.irqchip = ue->u.irqchip.irqchip; in kvm_set_routing_entry() 128 e->irqchip.pin = ue->u.irqchip.pin; in kvm_set_routing_entry() 129 if ((e->irqchip.pin >= KVM_IRQCHIP_NUM_PINS) || in kvm_set_routing_entry() 130 (e->irqchip.irqchip >= KVM_NR_IRQCHIPS)) in kvm_set_routing_entry()
|
/linux-6.12.1/arch/x86/kvm/ |
D | irq_comm.c | 35 return kvm_pic_set_irq(pic, e->irqchip.pin, irq_source_id, level); in kvm_set_pic_irq() 43 return kvm_ioapic_set_irq(ioapic, e->irqchip.pin, irq_source_id, level, in kvm_set_ioapic_irq() 259 void kvm_fire_mask_notifiers(struct kvm *kvm, unsigned irqchip, unsigned pin, in kvm_fire_mask_notifiers() argument 266 gsi = kvm_irq_map_chip_pin(kvm, irqchip, pin); in kvm_fire_mask_notifiers() 291 e->irqchip.pin = ue->u.irqchip.pin; in kvm_set_routing_entry() 292 switch (ue->u.irqchip.irqchip) { in kvm_set_routing_entry() 294 e->irqchip.pin += PIC_NUM_PINS / 2; in kvm_set_routing_entry() 297 if (ue->u.irqchip.pin >= PIC_NUM_PINS / 2) in kvm_set_routing_entry() 302 if (ue->u.irqchip.pin >= KVM_IOAPIC_NUM_PINS) in kvm_set_routing_entry() 309 e->irqchip.irqchip = ue->u.irqchip.irqchip; in kvm_set_routing_entry() [all …]
|
/linux-6.12.1/drivers/platform/x86/intel/ |
D | crystal_cove_charger.c | 24 struct irq_chip irqchip; member 119 charger->irqchip.name = KBUILD_MODNAME; in crystal_cove_charger_probe() 120 charger->irqchip.irq_unmask = crystal_cove_charger_irq_unmask; in crystal_cove_charger_probe() 121 charger->irqchip.irq_mask = crystal_cove_charger_irq_mask; in crystal_cove_charger_probe() 122 charger->irqchip.irq_bus_lock = crystal_cove_charger_irq_bus_lock; in crystal_cove_charger_probe() 123 charger->irqchip.irq_bus_sync_unlock = crystal_cove_charger_irq_bus_sync_unlock; in crystal_cove_charger_probe() 126 irq_set_chip_and_handler(charger->charger_irq, &charger->irqchip, handle_simple_irq); in crystal_cove_charger_probe()
|
/linux-6.12.1/virt/kvm/ |
D | irqchip.c | 40 int kvm_irq_map_chip_pin(struct kvm *kvm, unsigned irqchip, unsigned pin) in kvm_irq_map_chip_pin() argument 45 return irq_rt->chip[irqchip][pin]; in kvm_irq_map_chip_pin() 143 ue->u.irqchip.irqchip == ei->irqchip.irqchip) in setup_routing_entry() 152 rt->chip[e->irqchip.irqchip][e->irqchip.pin] = e->gsi; in setup_routing_entry()
|
D | eventfd.c | 468 bool kvm_irq_has_notifier(struct kvm *kvm, unsigned irqchip, unsigned pin) in kvm_irq_has_notifier() argument 474 gsi = kvm_irq_map_chip_pin(kvm, irqchip, pin); in kvm_irq_has_notifier() 499 void kvm_notify_acked_irq(struct kvm *kvm, unsigned irqchip, unsigned pin) in kvm_notify_acked_irq() argument 503 trace_kvm_ack_irq(irqchip, pin); in kvm_notify_acked_irq() 506 gsi = kvm_irq_map_chip_pin(kvm, irqchip, pin); in kvm_notify_acked_irq() 643 unsigned int irqchip, in kvm_notify_irqfd_resampler() argument 650 gsi = kvm_irq_map_chip_pin(kvm, irqchip, pin); in kvm_notify_irqfd_resampler()
|
D | Makefile.kvm | 12 kvm-$(CONFIG_HAVE_KVM_IRQ_ROUTING) += $(KVM)/irqchip.o
|
/linux-6.12.1/include/trace/events/ |
D | kvm.h | 177 #define kvm_ack_irq_parm __print_symbolic(__entry->irqchip, kvm_irqchips), __entry->pin 180 #define kvm_ack_irq_parm __entry->irqchip, __entry->pin 184 TP_PROTO(unsigned int irqchip, unsigned int pin), 185 TP_ARGS(irqchip, pin), 188 __field( unsigned int, irqchip ) 193 __entry->irqchip = irqchip;
|
/linux-6.12.1/arch/powerpc/platforms/52xx/ |
D | mpc52xx_pic.c | 344 struct irq_chip *irqchip; in mpc52xx_irqhost_map() local 373 case MPC52xx_IRQ_L1_MAIN: irqchip = &mpc52xx_main_irqchip; break; in mpc52xx_irqhost_map() 374 case MPC52xx_IRQ_L1_PERP: irqchip = &mpc52xx_periph_irqchip; break; in mpc52xx_irqhost_map() 375 case MPC52xx_IRQ_L1_SDMA: irqchip = &mpc52xx_sdma_irqchip; break; in mpc52xx_irqhost_map() 383 irq_set_chip_and_handler(virq, irqchip, handle_level_irq); in mpc52xx_irqhost_map()
|
/linux-6.12.1/include/linux/ |
D | irqchip.h | 37 OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn)) 78 ACPI_DECLARE_SUBTABLE_PROBE_ENTRY(irqchip, name, \
|
/linux-6.12.1/drivers/gpio/ |
D | gpiolib.c | 1351 struct irq_chip *irqchip) in gpiochip_set_hierarchical_irqchip() argument 1834 struct irq_chip *irqchip = gc->irq.chip; in gpiochip_set_irq_hooks() local 1836 if (irqchip->flags & IRQCHIP_IMMUTABLE) in gpiochip_set_irq_hooks() 1841 if (!irqchip->irq_request_resources && in gpiochip_set_irq_hooks() 1842 !irqchip->irq_release_resources) { in gpiochip_set_irq_hooks() 1843 irqchip->irq_request_resources = gpiochip_irq_reqres; in gpiochip_set_irq_hooks() 1844 irqchip->irq_release_resources = gpiochip_irq_relres; in gpiochip_set_irq_hooks() 1849 if (irqchip->irq_enable == gpiochip_irq_enable || in gpiochip_set_irq_hooks() 1850 irqchip->irq_mask == gpiochip_irq_mask) { in gpiochip_set_irq_hooks() 1860 if (irqchip->irq_disable) { in gpiochip_set_irq_hooks() [all …]
|
D | gpio-cadence.c | 127 struct irq_chip *irqchip = irq_desc_get_chip(desc); in cdns_gpio_irq_handler() local 131 chained_irq_enter(irqchip, desc); in cdns_gpio_irq_handler() 139 chained_irq_exit(irqchip, desc); in cdns_gpio_irq_handler()
|
D | gpio-ath79.c | 189 struct irq_chip *irqchip = irq_desc_get_chip(desc); in ath79_gpio_irq_handler() local 196 chained_irq_enter(irqchip, desc); in ath79_gpio_irq_handler() 215 chained_irq_exit(irqchip, desc); in ath79_gpio_irq_handler()
|
D | gpio-ftgpio010.c | 143 struct irq_chip *irqchip = irq_desc_get_chip(desc); in ftgpio_gpio_irq_handler() local 147 chained_irq_enter(irqchip, desc); in ftgpio_gpio_irq_handler() 154 chained_irq_exit(irqchip, desc); in ftgpio_gpio_irq_handler()
|
D | gpio-xlp.c | 185 struct irq_chip *irqchip = irq_desc_get_chip(desc); in xlp_gpio_generic_handler() local 192 chained_irq_enter(irqchip, desc); in xlp_gpio_generic_handler() 202 chained_irq_exit(irqchip, desc); in xlp_gpio_generic_handler()
|
D | TODO | 139 GPIOLIB irqchip 141 The GPIOLIB irqchip is a helper irqchip for "simple cases" that should 142 try to cover any generic kind of irqchip cascaded from a GPIO. 145 dry-code conversions to gpiolib irqchip for maintainers to test 210 conversion. Note that drivers using the generic irqchip framework
|
D | gpio-ep93xx.c | 106 struct irq_chip *irqchip = irq_desc_get_chip(desc); in ep93xx_gpio_f_irq_handler() local 112 chained_irq_enter(irqchip, desc); in ep93xx_gpio_f_irq_handler() 120 chained_irq_exit(irqchip, desc); in ep93xx_gpio_f_irq_handler()
|
/linux-6.12.1/arch/powerpc/platforms/powernv/ |
D | opal-irqchip.c | 32 struct irq_chip irqchip; member 103 .irqchip = { 116 irq_set_chip_and_handler(irq, &opal_event_irqchip.irqchip, in opal_event_map()
|
/linux-6.12.1/Documentation/driver-api/gpio/ |
D | driver.rst | 264 It is legal for any IRQ consumer to request an IRQ from any irqchip even if it 283 interrupt controller. This is modeled by an irqchip that will inspect bits 284 inside the GPIO controller to figure out which line fired it. The irqchip 299 spinlock_t or any sleepable APIs (like PM runtime) as part of its irqchip 305 on an irqchip. Create the callbacks if needed.[2] 316 system interrupt controller. This means that the GPIO irqchip handler will 317 be called immediately from the parent irqchip, while holding the IRQs 318 disabled. The GPIO irqchip will then end up calling something like this 334 If required (and if it can't be converted to the nested threaded GPIO irqchip, 354 The GPIO irqchip will then end up calling something like this sequence in [all …]
|
/linux-6.12.1/drivers/mfd/ |
D | rohm-bd71828.c | 494 const struct regmap_irq_chip *irqchip; in bd71828_i2c_probe() local 513 irqchip = &bd71828_irq_chip; in bd71828_i2c_probe() 521 irqchip = &bd71815_irq_chip; in bd71828_i2c_probe() 542 IRQF_ONESHOT, 0, irqchip, &irq_data); in bd71828_i2c_probe() 548 irqchip->num_irqs); in bd71828_i2c_probe()
|
/linux-6.12.1/Documentation/virt/kvm/devices/ |
D | mpic.rst | 48 irqchip id 0. 50 This irqchip 0 has 256 interrupt pins, which expose the interrupts in
|