Searched refs:gsi (Results 1 - 38 of 38) sorted by relevance

/linux-4.4.14/drivers/acpi/
H A Dgsi.c41 * @gsi: GSI IRQ number to map
49 int acpi_gsi_to_irq(u32 gsi, unsigned int *irq) acpi_gsi_to_irq() argument
54 *irq = irq_find_mapping(d, gsi); acpi_gsi_to_irq()
66 * @gsi: GSI IRQ number
73 int acpi_register_gsi(struct device *dev, u32 gsi, int trigger, acpi_register_gsi() argument
84 fwspec.param[0] = gsi; acpi_register_gsi()
94 * @gsi: GSI IRQ number
96 void acpi_unregister_gsi(u32 gsi) acpi_unregister_gsi() argument
100 int irq = irq_find_mapping(d, gsi); acpi_unregister_gsi()
H A Dpci_irq.c396 int gsi; acpi_pci_irq_enable() local
428 gsi = acpi_pci_link_allocate_irq(entry->link, acpi_pci_irq_enable()
433 gsi = entry->index; acpi_pci_irq_enable()
435 gsi = -1; acpi_pci_irq_enable()
441 if (gsi < 0) { acpi_pci_irq_enable()
450 rc = acpi_register_gsi(&dev->dev, gsi, triggering, polarity); acpi_pci_irq_enable()
466 pin_name(pin), link_desc, gsi, acpi_pci_irq_enable()
477 int gsi; acpi_pci_irq_disable() local
497 gsi = acpi_pci_link_free_irq(entry->link); acpi_pci_irq_disable()
499 gsi = entry->index; acpi_pci_irq_disable()
509 if (gsi >= 0) { acpi_pci_irq_disable()
510 acpi_unregister_gsi(gsi); acpi_pci_irq_disable()
H A DMakefile56 acpi-$(CONFIG_ACPI_GENERIC_GSI) += gsi.o
H A Dresource.c351 static void acpi_dev_irqresource_disabled(struct resource *res, u32 gsi) acpi_dev_irqresource_disabled() argument
353 res->start = gsi; acpi_dev_irqresource_disabled()
354 res->end = gsi; acpi_dev_irqresource_disabled()
358 static void acpi_dev_get_irqresource(struct resource *res, u32 gsi, acpi_dev_get_irqresource() argument
364 if (!valid_IRQ(gsi)) { acpi_dev_get_irqresource()
365 acpi_dev_irqresource_disabled(res, gsi); acpi_dev_get_irqresource()
379 if (legacy && !acpi_get_override_irq(gsi, &t, &p)) { acpi_dev_get_irqresource()
384 pr_warning("ACPI: IRQ %d override to %s, %s\n", gsi, acpi_dev_get_irqresource()
392 irq = acpi_register_gsi(NULL, gsi, triggering, polarity); acpi_dev_get_irqresource()
397 acpi_dev_irqresource_disabled(res, gsi); acpi_dev_get_irqresource()
H A Dosl.c828 acpi_os_install_interrupt_handler(u32 gsi, acpi_osd_handler handler, acpi_os_install_interrupt_handler() argument
839 if (gsi != acpi_gbl_FADT.sci_interrupt) acpi_os_install_interrupt_handler()
845 if (acpi_gsi_to_irq(gsi, &irq) < 0) { acpi_os_install_interrupt_handler()
847 gsi); acpi_os_install_interrupt_handler()
863 acpi_status acpi_os_remove_interrupt_handler(u32 gsi, acpi_osd_handler handler) acpi_os_remove_interrupt_handler() argument
865 if (gsi != acpi_gbl_FADT.sci_interrupt || !acpi_sci_irq_valid()) acpi_os_remove_interrupt_handler()
/linux-4.4.14/arch/ia64/include/asm/
H A Diosapic.h88 extern int gsi_to_irq (unsigned int gsi);
89 extern int iosapic_register_intr (unsigned int gsi, unsigned long polarity,
92 extern void iosapic_override_isa_irq (unsigned int isa_irq, unsigned int gsi,
96 unsigned int gsi,
109 #define iosapic_register_intr(gsi,polarity,trigger) (gsi)
111 #define iosapic_override_isa_irq(isa_irq,gsi,polarity,trigger) do { } while (0)
112 #define iosapic_register_platform_intr(type,gsi,pmi,eid,id, \
113 polarity,trigger) (gsi)
H A Dacpi.h77 int acpi_gsi_to_irq (u32 gsi, unsigned int *irq);
/linux-4.4.14/arch/x86/platform/intel-mid/device_libs/
H A Dplatform_wdt.c29 int gsi; tangier_probe() local
37 gsi = pdata->irq; tangier_probe()
39 if (mp_map_gsi_to_irq(gsi, IOAPIC_MAP_ALLOC, &info) <= 0) { tangier_probe()
41 gsi); tangier_probe()
/linux-4.4.14/virt/kvm/
H A Dirqchip.c35 struct kvm_kernel_irq_routing_entry *entries, int gsi) kvm_irq_map_gsi()
43 if (irq_rt && gsi < irq_rt->nr_rt_entries) { kvm_irq_map_gsi()
44 hlist_for_each_entry(e, &irq_rt->map[gsi], link) { kvm_irq_map_gsi()
149 hlist_for_each_entry(ei, &rt->map[ue->gsi], link) setup_routing_entry()
155 e->gsi = ue->gsi; setup_routing_entry()
161 rt->chip[e->irqchip.irqchip][e->irqchip.pin] = e->gsi; setup_routing_entry()
163 hlist_add_head(&e->link, &rt->map[e->gsi]); setup_routing_entry()
179 if (ue[i].gsi >= KVM_MAX_IRQ_ROUTES) kvm_set_irq_routing()
181 nr_rt_entries = max(nr_rt_entries, ue[i].gsi); kvm_set_irq_routing()
34 kvm_irq_map_gsi(struct kvm *kvm, struct kvm_kernel_irq_routing_entry *entries, int gsi) kvm_irq_map_gsi() argument
H A Deventfd.c55 kvm_set_irq(kvm, KVM_USERSPACE_IRQ_SOURCE_ID, irqfd->gsi, 1, irqfd_inject()
57 kvm_set_irq(kvm, KVM_USERSPACE_IRQ_SOURCE_ID, irqfd->gsi, 0, irqfd_inject()
61 irqfd->gsi, 1, false); irqfd_inject()
82 resampler->notifier.gsi, 0, false); irqfd_resampler_ack()
107 resampler->notifier.gsi, 0, false); irqfd_resampler_shutdown()
251 n_entries = kvm_irq_map_gsi(kvm, entries, irqfd->gsi); irqfd_update()
301 irqfd->gsi = args->gsi; kvm_irqfd_assign()
337 if (resampler->notifier.gsi == irqfd->gsi) { kvm_irqfd_assign()
353 resampler->notifier.gsi = irqfd->gsi; kvm_irqfd_assign()
444 int gsi, idx; kvm_irq_has_notifier() local
447 gsi = kvm_irq_map_chip_pin(kvm, irqchip, pin); kvm_irq_has_notifier()
448 if (gsi != -1) kvm_irq_has_notifier()
451 if (kian->gsi == gsi) { kvm_irq_has_notifier()
462 void kvm_notify_acked_gsi(struct kvm *kvm, int gsi) kvm_notify_acked_gsi() argument
468 if (kian->gsi == gsi) kvm_notify_acked_gsi()
474 int gsi, idx; kvm_notify_acked_irq() local
479 gsi = kvm_irq_map_chip_pin(kvm, irqchip, pin); kvm_notify_acked_irq()
480 if (gsi != -1) kvm_notify_acked_irq()
481 kvm_notify_acked_gsi(kvm, gsi); kvm_notify_acked_irq()
519 * shutdown any irqfd's that match fd+gsi
534 if (irqfd->eventfd == eventfd && irqfd->gsi == args->gsi) { kvm_irqfd_deassign()
554 * gsi once this deassign function returns. kvm_irqfd_deassign()
614 irqfd->gsi, 1); kvm_irq_routing_update()
/linux-4.4.14/arch/x86/pci/
H A Dxen.c35 u8 gsi; xen_pcifront_enable_irq() local
37 rc = pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &gsi); xen_pcifront_enable_irq()
44 pirq = gsi; xen_pcifront_enable_irq()
46 if (gsi < nr_legacy_irqs()) xen_pcifront_enable_irq()
49 rc = xen_bind_pirq_gsi_to_irq(gsi, pirq, share, "pcifront"); xen_pcifront_enable_irq()
52 gsi, pirq, rc); xen_pcifront_enable_irq()
57 dev_info(&dev->dev, "Xen PCI mapped GSI%d to IRQ%d\n", gsi, dev->irq); xen_pcifront_enable_irq()
62 static int xen_register_pirq(u32 gsi, int gsi_override, int triggering, xen_register_pirq() argument
70 irq = xen_irq_from_gsi(gsi); xen_register_pirq()
75 pirq = gsi; xen_register_pirq()
79 map_irq.index = gsi; xen_register_pirq()
97 gsi = gsi_override; xen_register_pirq()
99 irq = xen_bind_pirq_gsi_to_irq(gsi, map_irq.pirq, shareable, name); xen_register_pirq()
103 printk(KERN_DEBUG "xen: --> pirq=%d -> irq=%d (gsi=%d)\n", map_irq.pirq, irq, gsi); xen_register_pirq()
108 static int acpi_register_gsi_xen_hvm(struct device *dev, u32 gsi, acpi_register_gsi_xen_hvm() argument
114 return xen_register_pirq(gsi, -1 /* no GSI override */, trigger, acpi_register_gsi_xen_hvm()
119 static int xen_register_gsi(u32 gsi, int gsi_override, int triggering, int polarity) xen_register_gsi() argument
127 printk(KERN_DEBUG "xen: registering gsi %u triggering %d polarity %d\n", xen_register_gsi()
128 gsi, triggering, polarity); xen_register_gsi()
130 irq = xen_register_pirq(gsi, gsi_override, triggering, true); xen_register_gsi()
132 setup_gsi.gsi = gsi; xen_register_gsi()
138 printk(KERN_INFO "Already setup the GSI :%d\n", gsi); xen_register_gsi()
141 gsi, rc); xen_register_gsi()
147 static int acpi_register_gsi_xen(struct device *dev, u32 gsi, acpi_register_gsi_xen() argument
150 return xen_register_gsi(gsi, -1 /* no GSI override */, trigger, polarity); acpi_register_gsi_xen()
/linux-4.4.14/include/linux/
H A Dkvm_irqfd.h26 * resamplefd. All resamplers on the same gsi are de-asserted
33 * List of resampling struct _irqfd objects sharing this gsi.
40 * resamplers among irqfds on the same gsi.
54 int gsi; member in struct:kvm_kernel_irqfd
H A Dacpi.h219 int acpi_register_gsi (struct device *dev, u32 gsi, int triggering, int polarity);
220 int acpi_gsi_to_irq (u32 gsi, unsigned int *irq);
221 int acpi_isa_irq_to_gsi (unsigned isa_irq, u32 *gsi);
227 extern int acpi_get_override_irq(u32 gsi, int *trigger, int *polarity);
229 #define acpi_get_override_irq(gsi, trigger, polarity) (-1)
233 * If this matches the last registration, any IRQ resources for gsi
236 void acpi_unregister_gsi (u32 gsi);
H A Dkvm_host.h322 u32 gsi; member in struct:kvm_kernel_irq_routing_entry
343 * Array indexed by gsi. Each entry contains list of irq chips
344 * the gsi is connected to.
831 unsigned gsi; member in struct:kvm_irq_ack_notifier
836 struct kvm_kernel_irq_routing_entry *entries, int gsi);
847 void kvm_notify_acked_gsi(struct kvm *kvm, int gsi);
/linux-4.4.14/arch/ia64/kernel/
H A Diosapic.c166 find_iosapic (unsigned int gsi) find_iosapic() argument
171 if ((unsigned) (gsi - iosapic_lists[i].gsi_base) < find_iosapic()
179 static inline int __gsi_to_irq(unsigned int gsi) __gsi_to_irq() argument
188 if (rte->iosapic->gsi_base + rte->rte_index == gsi) __gsi_to_irq()
195 gsi_to_irq (unsigned int gsi) gsi_to_irq() argument
201 irq = __gsi_to_irq(gsi); gsi_to_irq()
206 static struct iosapic_rte_info *find_rte(unsigned int irq, unsigned int gsi) find_rte() argument
211 if (rte->iosapic->gsi_base + rte->rte_index == gsi) find_rte()
217 set_rte (unsigned int gsi, unsigned int irq, unsigned int dest, int mask) set_rte() argument
228 rte = find_rte(irq, gsi); set_rte()
554 register_intr (unsigned int gsi, int irq, unsigned char delivery, register_intr() argument
561 index = find_iosapic(gsi); register_intr()
564 __func__, gsi); register_intr()
568 rte = find_rte(irq, gsi); register_intr()
578 rte->rte_index = gsi - rte->iosapic->gsi_base; register_intr()
620 get_target_cpu (unsigned int gsi, int irq) get_target_cpu() argument
658 iosapic_index = find_iosapic(gsi); get_target_cpu()
716 iosapic_register_intr (unsigned int gsi, iosapic_register_intr() argument
733 irq = __gsi_to_irq(gsi); iosapic_register_intr()
735 rte = find_rte(irq, gsi); iosapic_register_intr()
755 dest = get_target_cpu(gsi, irq); iosapic_register_intr()
757 err = register_intr(gsi, irq, dmode, polarity, trigger); iosapic_register_intr()
771 set_rte(gsi, irq, dest, mask); iosapic_register_intr()
774 gsi, (trigger == IOSAPIC_EDGE ? "edge" : "level"), iosapic_register_intr()
785 iosapic_unregister_intr (unsigned int gsi) iosapic_unregister_intr() argument
795 * If the irq associated with the gsi is not found, iosapic_unregister_intr()
799 irq = gsi_to_irq(gsi); iosapic_unregister_intr()
802 gsi); iosapic_unregister_intr()
808 if ((rte = find_rte(irq, gsi)) == NULL) { iosapic_unregister_intr()
810 gsi); iosapic_unregister_intr()
825 index = find_iosapic(gsi); iosapic_unregister_intr()
834 gsi, (trigger == IOSAPIC_EDGE ? "edge" : "level"), iosapic_unregister_intr()
861 iosapic_register_platform_intr (u32 int_type, unsigned int gsi, iosapic_register_platform_intr() argument
900 register_intr(gsi, irq, delivery, polarity, trigger); iosapic_register_platform_intr()
906 int_type, gsi, (trigger == IOSAPIC_EDGE ? "edge" : "level"), iosapic_register_platform_intr()
910 set_rte(gsi, irq, dest, mask); iosapic_register_platform_intr()
917 void iosapic_override_isa_irq(unsigned int isa_irq, unsigned int gsi, iosapic_override_isa_irq() argument
927 register_intr(gsi, irq, dmode, polarity, trigger); iosapic_override_isa_irq()
930 isa_irq, gsi, trigger == IOSAPIC_EDGE ? "edge" : "level", iosapic_override_isa_irq()
934 set_rte(gsi, irq, dest, 1); iosapic_override_isa_irq()
996 /* check gsi range */ iosapic_check_gsi_range()
1014 iosapic_delete_rte(unsigned int irq, unsigned int gsi) iosapic_delete_rte() argument
1020 if (rte->iosapic->gsi_base + rte->rte_index == gsi) { iosapic_delete_rte()
H A Dacpi.c610 int acpi_register_gsi(struct device *dev, u32 gsi, int triggering, int polarity) acpi_register_gsi() argument
613 return gsi; acpi_register_gsi()
615 if (has_8259 && gsi < 16) acpi_register_gsi()
616 return isa_irq_to_vector(gsi); acpi_register_gsi()
618 return iosapic_register_intr(gsi, acpi_register_gsi()
628 void acpi_unregister_gsi(u32 gsi) acpi_unregister_gsi() argument
633 if (has_8259 && gsi < 16) acpi_unregister_gsi()
636 iosapic_unregister_intr(gsi); acpi_unregister_gsi()
772 int acpi_gsi_to_irq(u32 gsi, unsigned int *irq) acpi_gsi_to_irq() argument
776 if (has_8259 && gsi < 16) acpi_gsi_to_irq()
777 *irq = isa_irq_to_vector(gsi); acpi_gsi_to_irq()
779 tmp = gsi_to_irq(gsi); acpi_gsi_to_irq()
787 int acpi_isa_irq_to_gsi(unsigned isa_irq, u32 *gsi) acpi_isa_irq_to_gsi() argument
791 *gsi = isa_irq; acpi_isa_irq_to_gsi()
951 /* We know a gsi to node mapping! */ acpi_map_iosapic()
/linux-4.4.14/arch/x86/include/asm/
H A Dio_apic.h166 extern int mp_find_ioapic(u32 gsi);
167 extern int mp_find_ioapic_pin(int ioapic, u32 gsi);
168 extern int mp_map_gsi_to_irq(u32 gsi, unsigned int flags,
207 static inline int mp_find_ioapic(u32 gsi) { return 0; } mp_map_gsi_to_irq() argument
208 static inline int mp_map_gsi_to_irq(u32 gsi, unsigned int flags, mp_map_gsi_to_irq() argument
211 return gsi; mp_map_gsi_to_irq()
H A Dacpi.h55 extern int (*__acpi_register_gsi)(struct device *dev, u32 gsi,
57 extern void (*__acpi_unregister_gsi)(u32 gsi);
66 extern int acpi_gsi_to_irq(u32 gsi, unsigned int *irq);
/linux-4.4.14/arch/x86/kernel/acpi/
H A Dboot.c105 * any gsi as specified by an interrupt source override.
325 u32 gsi) mp_override_legacy_irq()
332 * Convert 'gsi' to 'ioapic.pin'. mp_override_legacy_irq()
334 ioapic = mp_find_ioapic(gsi); mp_override_legacy_irq()
337 pin = mp_find_ioapic_pin(ioapic, gsi); mp_override_legacy_irq()
358 * Reset default identity mapping if gsi is also an legacy IRQ, mp_override_legacy_irq()
362 if (gsi < nr_legacy_irqs() && isa_irq_to_gsi[gsi] == gsi) mp_override_legacy_irq()
363 isa_irq_to_gsi[gsi] = ACPI_INVALID_GSI; mp_override_legacy_irq()
364 isa_irq_to_gsi[bus_irq] = gsi; mp_override_legacy_irq()
367 static int mp_config_acpi_gsi(struct device *dev, u32 gsi, int trigger, mp_config_acpi_gsi() argument
394 ioapic = mp_find_ioapic(gsi); mp_config_acpi_gsi()
396 mp_irq.dstirq = mp_find_ioapic_pin(ioapic, gsi); mp_config_acpi_gsi()
432 static void __init acpi_sci_ioapic_setup(u8 bus_irq, u16 polarity, u16 trigger, u32 gsi) acpi_sci_ioapic_setup() argument
447 mp_override_legacy_irq(bus_irq, polarity, trigger, gsi); acpi_sci_ioapic_setup()
454 acpi_sci_override_gsi = gsi; acpi_sci_ioapic_setup()
569 int acpi_gsi_to_irq(u32 gsi, unsigned int *irqp) acpi_gsi_to_irq() argument
574 *irqp = gsi; acpi_gsi_to_irq()
578 rc = acpi_get_override_irq(gsi, &trigger, &polarity); acpi_gsi_to_irq()
582 irq = acpi_register_gsi(NULL, gsi, trigger, polarity); acpi_gsi_to_irq()
593 int acpi_isa_irq_to_gsi(unsigned isa_irq, u32 *gsi) acpi_isa_irq_to_gsi() argument
597 *gsi = isa_irq_to_gsi[isa_irq]; acpi_isa_irq_to_gsi()
604 static int acpi_register_gsi_pic(struct device *dev, u32 gsi, acpi_register_gsi_pic() argument
612 elcr_set_level_irq(gsi); acpi_register_gsi_pic()
615 return gsi; acpi_register_gsi_pic()
619 static int acpi_register_gsi_ioapic(struct device *dev, u32 gsi, acpi_register_gsi_ioapic() argument
622 int irq = gsi; acpi_register_gsi_ioapic()
633 irq = mp_map_gsi_to_irq(gsi, IOAPIC_MAP_ALLOC, &info); acpi_register_gsi_ioapic()
636 acpi_gbl_FADT.sci_interrupt != gsi) acpi_register_gsi_ioapic()
637 mp_config_acpi_gsi(dev, gsi, trigger, polarity); acpi_register_gsi_ioapic()
644 static void acpi_unregister_gsi_ioapic(u32 gsi) acpi_unregister_gsi_ioapic() argument
650 irq = mp_map_gsi_to_irq(gsi, 0, NULL); acpi_unregister_gsi_ioapic()
658 int (*__acpi_register_gsi)(struct device *dev, u32 gsi,
660 void (*__acpi_unregister_gsi)(u32 gsi) = NULL;
672 int acpi_register_gsi(struct device *dev, u32 gsi, int trigger, int polarity) acpi_register_gsi() argument
674 return __acpi_register_gsi(dev, gsi, trigger, polarity); acpi_register_gsi()
678 void acpi_unregister_gsi(u32 gsi) acpi_unregister_gsi() argument
681 __acpi_unregister_gsi(gsi); acpi_unregister_gsi()
1067 u32 gsi; mp_config_acpi_legacy_irqs() local
1069 /* Locate the gsi that irq i maps to. */ mp_config_acpi_legacy_irqs()
1070 if (acpi_isa_irq_to_gsi(i, &gsi)) mp_config_acpi_legacy_irqs()
1076 ioapic = mp_find_ioapic(gsi); mp_config_acpi_legacy_irqs()
1079 pin = mp_find_ioapic_pin(ioapic, gsi); mp_config_acpi_legacy_irqs()
324 mp_override_legacy_irq(u8 bus_irq, u8 polarity, u8 trigger, u32 gsi) mp_override_legacy_irq() argument
/linux-4.4.14/include/trace/events/
H A Dkvm.h61 TP_PROTO(unsigned int gsi, int level, int irq_source_id),
62 TP_ARGS(gsi, level, irq_source_id),
65 __field( unsigned int, gsi )
71 __entry->gsi = gsi;
76 TP_printk("gsi %u level %d source %d",
77 __entry->gsi, __entry->level, __entry->irq_source_id)
/linux-4.4.14/drivers/usb/serial/
H A Dwishbone-serial.c4 * Copyright (C) 2013 Wesley W. Terpstra <w.terpstra@gsi.de>
92 MODULE_AUTHOR("Wesley W. Terpstra <w.terpstra@gsi.de>");
/linux-4.4.14/arch/x86/kvm/
H A Dirq_comm.c211 int idx, gsi; kvm_fire_mask_notifiers() local
214 gsi = kvm_irq_map_chip_pin(kvm, irqchip, pin); kvm_fire_mask_notifiers()
215 if (gsi != -1) kvm_fire_mask_notifiers()
217 if (kimn->irq == gsi) kvm_fire_mask_notifiers()
297 { .gsi = irq, .type = KVM_IRQ_ROUTING_IRQCHIP, \
302 { .gsi = irq, .type = KVM_IRQ_ROUTING_IRQCHIP, \
H A Dtrace.h999 TP_PROTO(unsigned int vcpu_id, unsigned int gsi,
1001 TP_ARGS(vcpu_id, gsi, gvec, pi_desc_addr, set),
1005 __field( unsigned int, gsi )
1013 __entry->gsi = gsi;
1019 TP_printk("VT-d PI is %s for this irq, vcpu %u, gsi: 0x%x, "
1023 __entry->gsi,
H A Dassigned-dev.c260 if (assigned_dev->ack_notifier.gsi != -1) deassign_guest_irq()
481 dev->ack_notifier.gsi = irq->guest_irq; assigned_device_enable_guest_intx()
490 dev->ack_notifier.gsi = -1; assigned_device_enable_guest_msi()
499 dev->ack_notifier.gsi = -1; assigned_device_enable_guest_msix()
569 if (dev->ack_notifier.gsi != -1) assign_guest_irq()
910 adev->guest_msix_entries[i].vector = entry->gsi; kvm_vm_ioctl_set_msix_entry()
H A Di8254.c725 pit_state->irq_ack_notifier.gsi = 0; kvm_create_pit()
H A Dx86.c8254 prod->irq, irqfd->gsi, 1); kvm_arch_irq_bypass_add_producer()
8281 ret = kvm_x86_ops->update_pi_irte(irqfd->kvm, prod->irq, irqfd->gsi, 0); kvm_arch_irq_bypass_del_producer()
H A Dvmx.c10705 * @guest_irq: gsi of the interrupt
10750 trace_kvm_pi_irte_update(vcpu->vcpu_id, e->gsi, vmx_update_pi_irte()
/linux-4.4.14/drivers/xen/events/
H A Devents_base.c225 unsigned gsi, xen_irq_info_pirq_setup()
232 info->u.pirq.gsi = gsi; xen_irq_info_pirq_setup()
410 static int __must_check xen_allocate_irq_gsi(unsigned gsi) xen_allocate_irq_gsi() argument
424 if (gsi < nr_legacy_irqs()) xen_allocate_irq_gsi()
425 irq = gsi; xen_allocate_irq_gsi()
427 irq = irq_alloc_desc_at(gsi, -1); xen_allocate_irq_gsi()
594 int xen_irq_from_gsi(unsigned gsi) xen_irq_from_gsi() argument
602 if (info->u.pirq.gsi == gsi) xen_irq_from_gsi()
650 * up. Return an existing irq if we've already got one for the gsi.
655 int xen_bind_pirq_gsi_to_irq(unsigned gsi, xen_bind_pirq_gsi_to_irq() argument
664 irq = xen_irq_from_gsi(gsi); xen_bind_pirq_gsi_to_irq()
666 pr_info("%s: returning irq %d for gsi %u\n", xen_bind_pirq_gsi_to_irq()
667 __func__, irq, gsi); xen_bind_pirq_gsi_to_irq()
671 irq = xen_allocate_irq_gsi(gsi); xen_bind_pirq_gsi_to_irq()
688 ret = xen_irq_info_pirq_setup(irq, 0, pirq, gsi, DOMID_SELF, xen_bind_pirq_gsi_to_irq()
1412 int pirq, rc, irq, gsi; restore_pirqs() local
1421 gsi = info->u.pirq.gsi; restore_pirqs()
1426 if (!gsi) restore_pirqs()
1431 map_irq.index = gsi; restore_pirqs()
1436 pr_warn("xen map irq failed gsi=%d irq=%d pirq=%d rc=%d\n", restore_pirqs()
1437 gsi, irq, pirq, rc); restore_pirqs()
222 xen_irq_info_pirq_setup(unsigned irq, unsigned evtchn, unsigned pirq, unsigned gsi, uint16_t domid, unsigned char flags) xen_irq_info_pirq_setup() argument
H A Devents_internal.h46 unsigned short gsi; member in struct:irq_info::__anon11299::__anon11300
/linux-4.4.14/include/xen/
H A Devents.h100 int xen_bind_pirq_gsi_to_irq(unsigned gsi,
120 /* Return the irq allocated to the gsi */
121 int xen_irq_from_gsi(unsigned gsi);
/linux-4.4.14/arch/x86/kernel/apic/
H A Dio_apic.c114 /* IO APIC gsi routing info */
175 /* The one past the highest gsi number used */
879 int acpi_get_override_irq(u32 gsi, int *trigger, int *polarity);
884 u32 gsi, int ioapic_idx, int pin) ioapic_copy_alloc_attr()
899 if (acpi_get_override_irq(gsi, &trigger, &polarity) >= 0) { ioapic_copy_alloc_attr()
955 static int alloc_irq_from_domain(struct irq_domain *domain, int ioapic, u32 gsi, alloc_irq_from_domain() argument
968 if (!ioapic_initialized || gsi >= nr_legacy_irqs()) alloc_irq_from_domain()
969 irq = gsi; alloc_irq_from_domain()
973 irq = gsi; alloc_irq_from_domain()
1028 static int mp_map_pin_to_irq(u32 gsi, int idx, int ioapic, int pin, mp_map_pin_to_irq() argument
1053 ioapic_copy_alloc_attr(&tmp, info, gsi, ioapic, pin); mp_map_pin_to_irq()
1058 irq = alloc_irq_from_domain(domain, ioapic, gsi, &tmp); mp_map_pin_to_irq()
1073 u32 gsi = mp_pin_to_gsi(ioapic, pin); pin_2_irq() local
1101 return mp_map_pin_to_irq(gsi, idx, ioapic, pin, flags, NULL); pin_2_irq()
1104 int mp_map_gsi_to_irq(u32 gsi, unsigned int flags, struct irq_alloc_info *info) mp_map_gsi_to_irq() argument
1108 ioapic = mp_find_ioapic(gsi); mp_map_gsi_to_irq()
1112 pin = mp_find_ioapic_pin(ioapic, gsi); mp_map_gsi_to_irq()
1117 return mp_map_pin_to_irq(gsi, idx, ioapic, pin, flags, info); mp_map_gsi_to_irq()
2490 int acpi_get_override_irq(u32 gsi, int *trigger, int *polarity) acpi_get_override_irq() argument
2497 ioapic = mp_find_ioapic(gsi); acpi_get_override_irq()
2501 pin = mp_find_ioapic_pin(ioapic, gsi); acpi_get_override_irq()
2658 int mp_find_ioapic(u32 gsi) mp_find_ioapic() argument
2668 if (gsi >= gsi_cfg->gsi_base && gsi <= gsi_cfg->gsi_end) for_each_ioapic()
2672 printk(KERN_ERR "ERROR: Unable to locate IOAPIC for GSI %d\n", gsi);
2676 int mp_find_ioapic_pin(int ioapic, u32 gsi) mp_find_ioapic_pin() argument
2684 if (WARN_ON(gsi > gsi_cfg->gsi_end)) mp_find_ioapic_pin()
2687 return gsi - gsi_cfg->gsi_base; mp_find_ioapic_pin()
2767 * Build basic GSI lookup table to facilitate gsi->io_apic lookups
2837 u32 gsi = mp_pin_to_gsi(ioapic, pin); for_each_pin() local
2838 int irq = mp_map_gsi_to_irq(gsi, 0, NULL); for_each_pin()
2874 static void mp_irqdomain_get_attr(u32 gsi, struct mp_chip_data *data, mp_irqdomain_get_attr() argument
2880 } else if (acpi_get_override_irq(gsi, &data->trigger, mp_irqdomain_get_attr()
882 ioapic_copy_alloc_attr(struct irq_alloc_info *dst, struct irq_alloc_info *src, u32 gsi, int ioapic_idx, int pin) ioapic_copy_alloc_attr() argument
/linux-4.4.14/drivers/firmware/
H A Dpcdp.h51 u32 gsi; member in struct:pcdp_uart
/linux-4.4.14/drivers/char/
H A Dhpet.c203 int irq, gsi; hpet_timer_set_irq() local
240 gsi = acpi_register_gsi(NULL, irq, ACPI_LEVEL_SENSITIVE, hpet_timer_set_irq()
242 if (gsi > 0) hpet_timer_set_irq()
253 devp->hd_hdwirq = gsi; hpet_timer_set_irq()
/linux-4.4.14/include/uapi/linux/
H A Dkvm.h115 * ACPI gsi notion of irq.
857 /* gsi routing entry types */
863 __u32 gsi; member in struct:kvm_irq_routing_entry
920 __u32 gsi; member in struct:kvm_irqfd
1267 __u32 gsi; member in struct:kvm_assigned_msix_entry
/linux-4.4.14/arch/powerpc/kvm/
H A Dbook3s_xics.c1257 return kvm_set_irq(kvm, irq_source_id, irq_entry->gsi, kvm_set_msi()
1394 return kvm_set_irq(kvm, irq_source_id, e->gsi, level, line_status); xics_set_irq()
1398 struct kvm_kernel_irq_routing_entry *entries, int gsi) kvm_irq_map_gsi()
1400 entries->gsi = gsi; kvm_irq_map_gsi()
1404 entries->irqchip.pin = gsi; kvm_irq_map_gsi()
1397 kvm_irq_map_gsi(struct kvm *kvm, struct kvm_kernel_irq_routing_entry *entries, int gsi) kvm_irq_map_gsi() argument
/linux-4.4.14/include/xen/interface/
H A Dphysdev.h212 int gsi; member in struct:physdev_setup_gsi
/linux-4.4.14/arch/powerpc/platforms/512x/
H A Dclock-commonclk.c4 * Gerhard Sittig, <gsi@denx.de>
/linux-4.4.14/virt/kvm/arm/
H A Dvgic.c2444 int gsi) kvm_irq_map_gsi()
2442 kvm_irq_map_gsi(struct kvm *kvm, struct kvm_kernel_irq_routing_entry *entries, int gsi) kvm_irq_map_gsi() argument

Completed in 1234 milliseconds