Home
last modified time | relevance | path

Searched refs:irqchip (Results 1 – 25 of 86) sorted by relevance

1234

/openbmc/linux/drivers/irqchip/
H A Dirq-sl28cpld.c39 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 …]
H A Dirq-ixp4xx.c53 struct irq_chip irqchip; member
178 &ixi->irqchip, in ixp4xx_irq_domain_alloc()
233 ixi->irqchip.name = "IXP4xx"; in ixp4xx_irq_setup()
234 ixi->irqchip.irq_mask = ixp4xx_irq_mask; in ixp4xx_irq_setup()
235 ixi->irqchip.irq_unmask = ixp4xx_irq_unmask; in ixp4xx_irq_setup()
236 ixi->irqchip.irq_set_type = ixp4xx_set_irq_type; in ixp4xx_irq_setup()
H A Dirq-al-fic.c110 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()
/openbmc/linux/arch/arm64/kvm/vgic/
H A Dvgic-irqfd.c22 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()
149 entries[i].u.irqchip.irqchip = 0; in kvm_vgic_setup_default_irq_routing()
150 entries[i].u.irqchip.pin = i; in kvm_vgic_setup_default_irq_routing()
/openbmc/linux/arch/riscv/kvm/
H A Dvm.c89 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()
/openbmc/linux/arch/x86/kvm/
H A Dirq_comm.c35 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()
256 void kvm_fire_mask_notifiers(struct kvm *kvm, unsigned irqchip, unsigned pin, in kvm_fire_mask_notifiers() argument
263 gsi = kvm_irq_map_chip_pin(kvm, irqchip, pin); in kvm_fire_mask_notifiers()
288 e->irqchip.pin = ue->u.irqchip.pin; in kvm_set_routing_entry()
289 switch (ue->u.irqchip.irqchip) { in kvm_set_routing_entry()
291 e->irqchip.pin += PIC_NUM_PINS / 2; in kvm_set_routing_entry()
294 if (ue->u.irqchip.pin >= PIC_NUM_PINS / 2) in kvm_set_routing_entry()
299 if (ue->u.irqchip.pin >= KVM_IOAPIC_NUM_PINS) in kvm_set_routing_entry()
306 e->irqchip.irqchip = ue->u.irqchip.irqchip; in kvm_set_routing_entry()
[all …]
/openbmc/linux/drivers/platform/x86/intel/
H A Dcrystal_cove_charger.c24 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()
/openbmc/linux/virt/kvm/
H A Dirqchip.c40 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()
H A Deventfd.c467 bool kvm_irq_has_notifier(struct kvm *kvm, unsigned irqchip, unsigned pin) in kvm_irq_has_notifier() argument
473 gsi = kvm_irq_map_chip_pin(kvm, irqchip, pin); in kvm_irq_has_notifier()
498 void kvm_notify_acked_irq(struct kvm *kvm, unsigned irqchip, unsigned pin) in kvm_notify_acked_irq() argument
502 trace_kvm_ack_irq(irqchip, pin); in kvm_notify_acked_irq()
505 gsi = kvm_irq_map_chip_pin(kvm, irqchip, pin); in kvm_notify_acked_irq()
656 unsigned int irqchip, in kvm_notify_irqfd_resampler() argument
663 gsi = kvm_irq_map_chip_pin(kvm, irqchip, pin); in kvm_notify_irqfd_resampler()
H A DMakefile.kvm12 kvm-$(CONFIG_HAVE_KVM_IRQ_ROUTING) += $(KVM)/irqchip.o
/openbmc/linux/include/trace/events/
H A Dkvm.h177 #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;
/openbmc/linux/arch/powerpc/platforms/52xx/
H A Dmpc52xx_pic.c344 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()
/openbmc/linux/include/linux/
H A Dirqchip.h37 OF_DECLARE_2(irqchip, name, compat, typecheck_irq_init_cb(fn))
78 ACPI_DECLARE_SUBTABLE_PROBE_ENTRY(irqchip, name, \
/openbmc/linux/drivers/gpio/
H A Dgpio-ep93xx.c117 struct irq_chip *irqchip = irq_desc_get_chip(desc); in ep93xx_gpio_ab_irq_handler() local
121 chained_irq_enter(irqchip, desc); in ep93xx_gpio_ab_irq_handler()
139 chained_irq_exit(irqchip, desc); in ep93xx_gpio_ab_irq_handler()
149 struct irq_chip *irqchip = irq_desc_get_chip(desc); in ep93xx_gpio_f_irq_handler() local
154 chained_irq_enter(irqchip, desc); in ep93xx_gpio_f_irq_handler()
156 chained_irq_exit(irqchip, desc); in ep93xx_gpio_f_irq_handler()
H A Dgpiolib.c1180 struct irq_chip *irqchip) in gpiochip_set_hierarchical_irqchip() argument
1665 struct irq_chip *irqchip = gc->irq.chip; in gpiochip_set_irq_hooks() local
1667 if (irqchip->flags & IRQCHIP_IMMUTABLE) in gpiochip_set_irq_hooks()
1672 if (!irqchip->irq_request_resources && in gpiochip_set_irq_hooks()
1673 !irqchip->irq_release_resources) { in gpiochip_set_irq_hooks()
1674 irqchip->irq_request_resources = gpiochip_irq_reqres; in gpiochip_set_irq_hooks()
1675 irqchip->irq_release_resources = gpiochip_irq_relres; in gpiochip_set_irq_hooks()
1680 if (irqchip->irq_enable == gpiochip_irq_enable || in gpiochip_set_irq_hooks()
1681 irqchip->irq_mask == gpiochip_irq_mask) { in gpiochip_set_irq_hooks()
1691 if (irqchip->irq_disable) { in gpiochip_set_irq_hooks()
[all …]
H A Dgpio-cadence.c128 struct irq_chip *irqchip = irq_desc_get_chip(desc); in cdns_gpio_irq_handler() local
132 chained_irq_enter(irqchip, desc); in cdns_gpio_irq_handler()
140 chained_irq_exit(irqchip, desc); in cdns_gpio_irq_handler()
H A Dgpio-ath79.c189 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()
H A Dgpio-ftgpio010.c143 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()
H A Dgpio-xlp.c185 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()
H A DTODO139 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
/openbmc/linux/arch/powerpc/platforms/powernv/
H A Dopal-irqchip.c32 struct irq_chip irqchip; member
103 .irqchip = {
116 irq_set_chip_and_handler(irq, &opal_event_irqchip.irqchip, in opal_event_map()
/openbmc/linux/Documentation/driver-api/gpio/
H A Ddriver.rst265 It is legal for any IRQ consumer to request an IRQ from any irqchip even if it
284 interrupt controller. This is modeled by an irqchip that will inspect bits
285 inside the GPIO controller to figure out which line fired it. The irqchip
300 spinlock_t or any sleepable APIs (like PM runtime) as part of its irqchip
306 on an irqchip. Create the callbacks if needed.[2]
317 system interrupt controller. This means that the GPIO irqchip handler will
318 be called immediately from the parent irqchip, while holding the IRQs
319 disabled. The GPIO irqchip will then end up calling something like this
335 If required (and if it can't be converted to the nested threaded GPIO irqchip,
355 The GPIO irqchip will then end up calling something like this sequence in
[all …]
/openbmc/linux/drivers/mfd/
H A Drohm-bd71828.c473 struct regmap_irq_chip *irqchip; in bd71828_i2c_probe() local
492 irqchip = &bd71828_irq_chip; in bd71828_i2c_probe()
500 irqchip = &bd71815_irq_chip; in bd71828_i2c_probe()
521 IRQF_ONESHOT, 0, irqchip, &irq_data); in bd71828_i2c_probe()
527 irqchip->num_irqs); in bd71828_i2c_probe()
/openbmc/qemu/docs/system/i386/
H A Dxen.rst12 Using the split irqchip is mandatory for Xen support.
22 |qemu_system| --accel kvm,xen-version=0x40011,kernel-irqchip=split
29 |qemu_system| --accel kvm,xen-version=0x40011,kernel-irqchip=split --cpu host,+xen-vapic
101 |qemu_system| --accel kvm,xen-version=0x40011,kernel-irqchip=split \\
121 |qemu_system| --accel kvm,xen-version=0x40011,kernel-irqchip=split \\
/openbmc/linux/Documentation/virt/kvm/devices/
H A Dmpic.rst48 irqchip id 0.
50 This irqchip 0 has 256 interrupt pins, which expose the interrupts in

1234