Lines Matching full:gsi
105 * any gsi as specified by an interrupt source override.
433 u8 trigger, u32 gsi);
436 u32 gsi) in mp_override_legacy_irq() argument
454 if (mp_register_ioapic_irq(bus_irq, polarity, trigger, gsi) < 0) in mp_override_legacy_irq()
457 * Reset default identity mapping if gsi is also an legacy IRQ, in mp_override_legacy_irq()
458 * otherwise there will be more than one entry with the same GSI in mp_override_legacy_irq()
461 if (gsi < nr_legacy_irqs() && isa_irq_to_gsi[gsi] == gsi) in mp_override_legacy_irq()
462 isa_irq_to_gsi[gsi] = INVALID_ACPI_IRQ; in mp_override_legacy_irq()
463 isa_irq_to_gsi[bus_irq] = gsi; in mp_override_legacy_irq()
466 static void mp_config_acpi_gsi(struct device *dev, u32 gsi, int trigger, in mp_config_acpi_gsi() argument
493 ioapic = mp_find_ioapic(gsi); in mp_config_acpi_gsi()
495 mp_irq.dstirq = mp_find_ioapic_pin(ioapic, gsi); in mp_config_acpi_gsi()
502 u8 trigger, u32 gsi) in mp_register_ioapic_irq() argument
507 /* Convert 'gsi' to 'ioapic.pin'(INTIN#) */ in mp_register_ioapic_irq()
508 ioapic = mp_find_ioapic(gsi); in mp_register_ioapic_irq()
510 pr_warn("Failed to find ioapic for gsi : %u\n", gsi); in mp_register_ioapic_irq()
514 pin = mp_find_ioapic_pin(ioapic, gsi); in mp_register_ioapic_irq()
558 static void __init acpi_sci_ioapic_setup(u8 bus_irq, u16 polarity, u16 trigger, u32 gsi) in acpi_sci_ioapic_setup() argument
574 mp_override_legacy_irq(bus_irq, polarity, trigger, gsi); in acpi_sci_ioapic_setup()
576 mp_register_ioapic_irq(bus_irq, polarity, trigger, gsi); in acpi_sci_ioapic_setup()
584 acpi_sci_override_gsi = gsi; in acpi_sci_ioapic_setup()
702 int acpi_gsi_to_irq(u32 gsi, unsigned int *irqp) in acpi_gsi_to_irq() argument
707 *irqp = gsi; in acpi_gsi_to_irq()
711 rc = acpi_get_override_irq(gsi, &trigger, &polarity); in acpi_gsi_to_irq()
717 irq = acpi_register_gsi(NULL, gsi, trigger, polarity); in acpi_gsi_to_irq()
726 int acpi_isa_irq_to_gsi(unsigned isa_irq, u32 *gsi) in acpi_isa_irq_to_gsi() argument
730 *gsi = isa_irq_to_gsi[isa_irq]; in acpi_isa_irq_to_gsi()
737 static int acpi_register_gsi_pic(struct device *dev, u32 gsi, in acpi_register_gsi_pic() argument
745 elcr_set_level_irq(gsi); in acpi_register_gsi_pic()
748 return gsi; in acpi_register_gsi_pic()
752 static int acpi_register_gsi_ioapic(struct device *dev, u32 gsi, in acpi_register_gsi_ioapic() argument
755 int irq = gsi; in acpi_register_gsi_ioapic()
766 irq = mp_map_gsi_to_irq(gsi, IOAPIC_MAP_ALLOC, &info); in acpi_register_gsi_ioapic()
768 if (irq >= 0 && enable_update_mptable && gsi != acpi_gbl_FADT.sci_interrupt) in acpi_register_gsi_ioapic()
769 mp_config_acpi_gsi(dev, gsi, trigger, polarity); in acpi_register_gsi_ioapic()
776 static void acpi_unregister_gsi_ioapic(u32 gsi) in acpi_unregister_gsi_ioapic() argument
782 irq = mp_map_gsi_to_irq(gsi, 0, NULL); in acpi_unregister_gsi_ioapic()
790 int (*__acpi_register_gsi)(struct device *dev, u32 gsi,
792 void (*__acpi_unregister_gsi)(u32 gsi) = NULL;
804 int acpi_register_gsi(struct device *dev, u32 gsi, int trigger, int polarity) in acpi_register_gsi() argument
806 return __acpi_register_gsi(dev, gsi, trigger, polarity); in acpi_register_gsi()
810 void acpi_unregister_gsi(u32 gsi) in acpi_unregister_gsi() argument
813 __acpi_unregister_gsi(gsi); in acpi_unregister_gsi()
933 * @gsi_base: GSI base associated with the IOAPIC
1210 u32 gsi; in mp_config_acpi_legacy_irqs() local
1212 /* Locate the gsi that irq i maps to. */ in mp_config_acpi_legacy_irqs()
1213 if (acpi_isa_irq_to_gsi(i, &gsi)) in mp_config_acpi_legacy_irqs()
1219 ioapic = mp_find_ioapic(gsi); in mp_config_acpi_legacy_irqs()
1222 pin = mp_find_ioapic_pin(ioapic, gsi); in mp_config_acpi_legacy_irqs()