Home
last modified time | relevance | path

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

123

/Linux-v5.4/virt/kvm/arm/vgic/
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()
135 entries[i].u.irqchip.irqchip = 0; in kvm_vgic_setup_default_irq_routing()
136 entries[i].u.irqchip.pin = i; in kvm_vgic_setup_default_irq_routing()
/Linux-v5.4/arch/x86/kvm/
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()
251 void kvm_fire_mask_notifiers(struct kvm *kvm, unsigned irqchip, unsigned pin, in kvm_fire_mask_notifiers() argument
258 gsi = kvm_irq_map_chip_pin(kvm, irqchip, pin); in kvm_fire_mask_notifiers()
283 e->irqchip.pin = ue->u.irqchip.pin; in kvm_set_routing_entry()
284 switch (ue->u.irqchip.irqchip) { in kvm_set_routing_entry()
286 e->irqchip.pin += PIC_NUM_PINS / 2; in kvm_set_routing_entry()
289 if (ue->u.irqchip.pin >= PIC_NUM_PINS / 2) in kvm_set_routing_entry()
294 if (ue->u.irqchip.pin >= KVM_IOAPIC_NUM_PINS) in kvm_set_routing_entry()
301 e->irqchip.irqchip = ue->u.irqchip.irqchip; in kvm_set_routing_entry()
[all …]
/Linux-v5.4/virt/kvm/
Dirqchip.c41 int kvm_irq_map_chip_pin(struct kvm *kvm, unsigned irqchip, unsigned pin) in kvm_irq_map_chip_pin() argument
46 return irq_rt->chip[irqchip][pin]; in kvm_irq_map_chip_pin()
144 ue->u.irqchip.irqchip == ei->irqchip.irqchip) in setup_routing_entry()
153 rt->chip[e->irqchip.irqchip][e->irqchip.pin] = e->gsi; in setup_routing_entry()
/Linux-v5.4/drivers/gpio/
Dgpio-pcf857x.c74 struct irq_chip irqchip; member
343 gpio->irqchip.name = "pcf857x", in pcf857x_probe()
344 gpio->irqchip.irq_enable = pcf857x_irq_enable, in pcf857x_probe()
345 gpio->irqchip.irq_disable = pcf857x_irq_disable, in pcf857x_probe()
346 gpio->irqchip.irq_ack = noop, in pcf857x_probe()
347 gpio->irqchip.irq_mask = noop, in pcf857x_probe()
348 gpio->irqchip.irq_unmask = noop, in pcf857x_probe()
349 gpio->irqchip.irq_set_wake = pcf857x_irq_set_wake, in pcf857x_probe()
350 gpio->irqchip.irq_bus_lock = pcf857x_irq_bus_lock, in pcf857x_probe()
351 gpio->irqchip.irq_bus_sync_unlock = pcf857x_irq_bus_sync_unlock, in pcf857x_probe()
[all …]
DTODO88 GPIOLIB irqchip
90 The GPIOLIB irqchip is a helper irqchip for "simple cases" that should
91 try to cover any generic kind of irqchip cascaded from a GPIO.
93 - Convert all the GPIOLIB_IRQCHIP users to pass an irqchip template,
95 Currently we set up the irqchip after setting up the gpiochip
98 the irqchip before registering the gpio_chip, typical example:
100 /* Typical state container with dynamic irqchip */
110 /* Set up the irqchip dynamically */
134 dry-code conversions to gpiolib irqchip for maintainers to test
Dgpio-ep93xx.c111 struct irq_chip *irqchip = irq_desc_get_chip(desc); in ep93xx_gpio_ab_irq_handler() local
115 chained_irq_enter(irqchip, desc); in ep93xx_gpio_ab_irq_handler()
133 chained_irq_exit(irqchip, desc); in ep93xx_gpio_ab_irq_handler()
143 struct irq_chip *irqchip = irq_desc_get_chip(desc); in ep93xx_gpio_f_irq_handler() local
148 chained_irq_enter(irqchip, desc); in ep93xx_gpio_f_irq_handler()
150 chained_irq_exit(irqchip, desc); in ep93xx_gpio_f_irq_handler()
Dgpio-cadence.c126 struct irq_chip *irqchip = irq_desc_get_chip(desc); in cdns_gpio_irq_handler() local
130 chained_irq_enter(irqchip, desc); in cdns_gpio_irq_handler()
138 chained_irq_exit(irqchip, desc); in cdns_gpio_irq_handler()
Dgpiolib.c1730 struct irq_chip *irqchip, in gpiochip_set_chained_irqchip() argument
1751 struct irq_chip *irqchip, in gpiochip_set_nested_irqchip() argument
1768 struct irq_chip *irqchip) in gpiochip_set_hierarchical_irqchip() argument
2196 struct irq_chip *irqchip = gpiochip->irq.chip; in gpiochip_set_irq_hooks() local
2198 if (!irqchip->irq_request_resources && in gpiochip_set_irq_hooks()
2199 !irqchip->irq_release_resources) { in gpiochip_set_irq_hooks()
2200 irqchip->irq_request_resources = gpiochip_irq_reqres; in gpiochip_set_irq_hooks()
2201 irqchip->irq_release_resources = gpiochip_irq_relres; in gpiochip_set_irq_hooks()
2206 if (irqchip->irq_enable == gpiochip_irq_enable) { in gpiochip_set_irq_hooks()
2215 gpiochip->irq.irq_enable = irqchip->irq_enable; in gpiochip_set_irq_hooks()
[all …]
Dgpio-ath79.c183 struct irq_chip *irqchip = irq_desc_get_chip(desc); in ath79_gpio_irq_handler() local
190 chained_irq_enter(irqchip, desc); in ath79_gpio_irq_handler()
212 chained_irq_exit(irqchip, desc); in ath79_gpio_irq_handler()
Dgpio-zx.c162 struct irq_chip *irqchip = irq_desc_get_chip(desc); in zx_irq_handler() local
164 chained_irq_enter(irqchip, desc); in zx_irq_handler()
174 chained_irq_exit(irqchip, desc); in zx_irq_handler()
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()
155 chained_irq_exit(irqchip, desc); in ftgpio_gpio_irq_handler()
/Linux-v5.4/include/linux/gpio/
Ddriver.h581 struct irq_chip *irqchip,
586 struct irq_chip *irqchip,
590 struct irq_chip *irqchip,
610 struct irq_chip *irqchip, in gpiochip_irqchip_add() argument
618 return gpiochip_irqchip_add_key(gpiochip, irqchip, first_irq, in gpiochip_irqchip_add()
624 struct irq_chip *irqchip, in gpiochip_irqchip_add_nested() argument
633 return gpiochip_irqchip_add_key(gpiochip, irqchip, first_irq, in gpiochip_irqchip_add_nested()
639 struct irq_chip *irqchip, in gpiochip_irqchip_add() argument
644 return gpiochip_irqchip_add_key(gpiochip, irqchip, first_irq, in gpiochip_irqchip_add()
649 struct irq_chip *irqchip, in gpiochip_irqchip_add_nested() argument
[all …]
/Linux-v5.4/drivers/irqchip/
Dirq-ixp4xx.c54 struct irq_chip irqchip; member
178 &ixi->irqchip, in ixp4xx_irq_domain_alloc()
283 ixi->irqchip.name = "IXP4xx"; in ixp4xx_irq_setup()
284 ixi->irqchip.irq_mask = ixp4xx_irq_mask; in ixp4xx_irq_setup()
285 ixi->irqchip.irq_unmask = ixp4xx_irq_unmask; in ixp4xx_irq_setup()
286 ixi->irqchip.irq_set_type = ixp4xx_set_irq_type; in ixp4xx_irq_setup()
Dirq-al-fic.c111 struct irq_chip *irqchip = irq_desc_get_chip(desc); in al_fic_irq_handler() local
117 chained_irq_enter(irqchip, desc); in al_fic_irq_handler()
127 chained_irq_exit(irqchip, desc); in al_fic_irq_handler()
Dirqchip.c30 acpi_probe_device_table(irqchip); in irqchip_init()
/Linux-v5.4/include/linux/
Dirqchip.h27 #define IRQCHIP_DECLARE(name, compat, fn) OF_DECLARE_2(irqchip, name, compat, fn)
42 ACPI_DECLARE_PROBE_ENTRY(irqchip, name, ACPI_SIG_MADT, \
/Linux-v5.4/include/trace/events/
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;
/Linux-v5.4/arch/powerpc/platforms/52xx/
Dmpc52xx_pic.c343 struct irq_chip *uninitialized_var(irqchip); in mpc52xx_irqhost_map()
372 case MPC52xx_IRQ_L1_MAIN: irqchip = &mpc52xx_main_irqchip; break; in mpc52xx_irqhost_map()
373 case MPC52xx_IRQ_L1_PERP: irqchip = &mpc52xx_periph_irqchip; break; in mpc52xx_irqhost_map()
374 case MPC52xx_IRQ_L1_SDMA: irqchip = &mpc52xx_sdma_irqchip; break; in mpc52xx_irqhost_map()
382 irq_set_chip_and_handler(virq, irqchip, handle_level_irq); in mpc52xx_irqhost_map()
/Linux-v5.4/Documentation/driver-api/gpio/
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 …]
/Linux-v5.4/arch/powerpc/platforms/powernv/
Dopal-irqchip.c32 struct irq_chip irqchip; member
106 .irqchip = {
119 irq_set_chip_and_handler(irq, &opal_event_irqchip.irqchip, in opal_event_map()
/Linux-v5.4/drivers/pinctrl/nomadik/
Dpinctrl-nomadik.c247 struct irq_chip irqchip; member
1106 struct irq_chip *irqchip; in nmk_gpio_probe() local
1152 irqchip = &nmk_chip->irqchip; in nmk_gpio_probe()
1153 irqchip->irq_ack = nmk_gpio_irq_ack; in nmk_gpio_probe()
1154 irqchip->irq_mask = nmk_gpio_irq_mask; in nmk_gpio_probe()
1155 irqchip->irq_unmask = nmk_gpio_irq_unmask; in nmk_gpio_probe()
1156 irqchip->irq_set_type = nmk_gpio_irq_set_type; in nmk_gpio_probe()
1157 irqchip->irq_set_wake = nmk_gpio_irq_set_wake; in nmk_gpio_probe()
1158 irqchip->irq_startup = nmk_gpio_irq_startup; in nmk_gpio_probe()
1159 irqchip->irq_shutdown = nmk_gpio_irq_shutdown; in nmk_gpio_probe()
[all …]
/Linux-v5.4/Documentation/virt/kvm/devices/
Dvcpu.txt21 irqchip.
31 -ENXIO: PMUv3 not properly configured or in-kernel irqchip not
37 irqchip.
Dmpic.txt43 irqchip id 0.
45 This irqchip 0 has 256 interrupt pins, which expose the interrupts in
/Linux-v5.4/drivers/pinctrl/mvebu/
Dpinctrl-armada-37xx.c724 struct irq_chip *irqchip = &info->irq_chip; in armada_37xx_irqchip_register() local
755 irqchip->irq_ack = armada_37xx_irq_ack; in armada_37xx_irqchip_register()
756 irqchip->irq_mask = armada_37xx_irq_mask; in armada_37xx_irqchip_register()
757 irqchip->irq_unmask = armada_37xx_irq_unmask; in armada_37xx_irqchip_register()
758 irqchip->irq_set_wake = armada_37xx_irq_set_wake; in armada_37xx_irqchip_register()
759 irqchip->irq_set_type = armada_37xx_irq_set_type; in armada_37xx_irqchip_register()
760 irqchip->irq_startup = armada_37xx_irq_startup; in armada_37xx_irqchip_register()
761 irqchip->name = info->data->name; in armada_37xx_irqchip_register()
762 ret = gpiochip_irqchip_add(gc, irqchip, 0, in armada_37xx_irqchip_register()
780 gpiochip_set_chained_irqchip(gc, irqchip, irq, in armada_37xx_irqchip_register()
/Linux-v5.4/drivers/i2c/busses/
Di2c-cht-wc.c42 struct irq_chip irqchip; member
329 adap->irqchip = cht_wc_i2c_irq_chip; in cht_wc_i2c_adap_i2c_probe()
367 irq_set_chip_and_handler(adap->client_irq, &adap->irqchip, in cht_wc_i2c_adap_i2c_probe()

123