Lines Matching full:gsi
95 * any gsi as specified by an interrupt source override.
336 u8 trigger, u32 gsi);
339 u32 gsi) in mp_override_legacy_irq() argument
357 if (mp_register_ioapic_irq(bus_irq, polarity, trigger, gsi) < 0) in mp_override_legacy_irq()
360 * Reset default identity mapping if gsi is also an legacy IRQ, in mp_override_legacy_irq()
361 * otherwise there will be more than one entry with the same GSI in mp_override_legacy_irq()
364 if (gsi < nr_legacy_irqs() && isa_irq_to_gsi[gsi] == gsi) in mp_override_legacy_irq()
365 isa_irq_to_gsi[gsi] = INVALID_ACPI_IRQ; in mp_override_legacy_irq()
366 isa_irq_to_gsi[bus_irq] = gsi; in mp_override_legacy_irq()
369 static int mp_config_acpi_gsi(struct device *dev, u32 gsi, int trigger, in mp_config_acpi_gsi() argument
396 ioapic = mp_find_ioapic(gsi); in mp_config_acpi_gsi()
398 mp_irq.dstirq = mp_find_ioapic_pin(ioapic, gsi); in mp_config_acpi_gsi()
406 u8 trigger, u32 gsi) in mp_register_ioapic_irq() argument
411 /* Convert 'gsi' to 'ioapic.pin'(INTIN#) */ in mp_register_ioapic_irq()
412 ioapic = mp_find_ioapic(gsi); in mp_register_ioapic_irq()
414 pr_warn("Failed to find ioapic for gsi : %u\n", gsi); in mp_register_ioapic_irq()
418 pin = mp_find_ioapic_pin(ioapic, gsi); in mp_register_ioapic_irq()
462 static void __init acpi_sci_ioapic_setup(u8 bus_irq, u16 polarity, u16 trigger, u32 gsi) in acpi_sci_ioapic_setup() argument
478 mp_override_legacy_irq(bus_irq, polarity, trigger, gsi); in acpi_sci_ioapic_setup()
480 mp_register_ioapic_irq(bus_irq, polarity, trigger, gsi); in acpi_sci_ioapic_setup()
488 acpi_sci_override_gsi = gsi; in acpi_sci_ioapic_setup()
603 int acpi_gsi_to_irq(u32 gsi, unsigned int *irqp) in acpi_gsi_to_irq() argument
608 *irqp = gsi; in acpi_gsi_to_irq()
612 rc = acpi_get_override_irq(gsi, &trigger, &polarity); in acpi_gsi_to_irq()
618 irq = acpi_register_gsi(NULL, gsi, trigger, polarity); in acpi_gsi_to_irq()
627 int acpi_isa_irq_to_gsi(unsigned isa_irq, u32 *gsi) in acpi_isa_irq_to_gsi() argument
631 *gsi = isa_irq_to_gsi[isa_irq]; in acpi_isa_irq_to_gsi()
638 static int acpi_register_gsi_pic(struct device *dev, u32 gsi, in acpi_register_gsi_pic() argument
646 elcr_set_level_irq(gsi); in acpi_register_gsi_pic()
649 return gsi; in acpi_register_gsi_pic()
653 static int acpi_register_gsi_ioapic(struct device *dev, u32 gsi, in acpi_register_gsi_ioapic() argument
656 int irq = gsi; in acpi_register_gsi_ioapic()
667 irq = mp_map_gsi_to_irq(gsi, IOAPIC_MAP_ALLOC, &info); in acpi_register_gsi_ioapic()
669 if (irq >= 0 && enable_update_mptable && gsi != acpi_gbl_FADT.sci_interrupt) in acpi_register_gsi_ioapic()
670 mp_config_acpi_gsi(dev, gsi, trigger, polarity); in acpi_register_gsi_ioapic()
677 static void acpi_unregister_gsi_ioapic(u32 gsi) in acpi_unregister_gsi_ioapic() argument
683 irq = mp_map_gsi_to_irq(gsi, 0, NULL); in acpi_unregister_gsi_ioapic()
691 int (*__acpi_register_gsi)(struct device *dev, u32 gsi,
693 void (*__acpi_unregister_gsi)(u32 gsi) = NULL;
705 int acpi_register_gsi(struct device *dev, u32 gsi, int trigger, int polarity) in acpi_register_gsi() argument
707 return __acpi_register_gsi(dev, gsi, trigger, polarity); in acpi_register_gsi()
711 void acpi_unregister_gsi(u32 gsi) in acpi_unregister_gsi() argument
714 __acpi_unregister_gsi(gsi); in acpi_unregister_gsi()
834 * @gsi_base: GSI base associated with the IOAPIC
1102 u32 gsi; in mp_config_acpi_legacy_irqs() local
1104 /* Locate the gsi that irq i maps to. */ in mp_config_acpi_legacy_irqs()
1105 if (acpi_isa_irq_to_gsi(i, &gsi)) in mp_config_acpi_legacy_irqs()
1111 ioapic = mp_find_ioapic(gsi); in mp_config_acpi_legacy_irqs()
1114 pin = mp_find_ioapic_pin(ioapic, gsi); in mp_config_acpi_legacy_irqs()