Home
last modified time | relevance | path

Searched refs:pirq (Results 1 – 25 of 68) sorted by relevance

123

/openbmc/qemu/hw/remote/
H A Diohub.c23 int pirq; in remote_iohub_init() local
28 for (pirq = 0; pirq < REMOTE_IOHUB_NB_PIRQS; pirq++) { in remote_iohub_init()
29 qemu_mutex_init(&iohub->irq_level_lock[pirq]); in remote_iohub_init()
30 iohub->irq_level[pirq] = 0; in remote_iohub_init()
31 event_notifier_init_fd(&iohub->irqfds[pirq], -1); in remote_iohub_init()
32 event_notifier_init_fd(&iohub->resamplefds[pirq], -1); in remote_iohub_init()
41 void remote_iohub_set_irq(void *opaque, int pirq, int level) in remote_iohub_set_irq() argument
45 assert(pirq >= 0); in remote_iohub_set_irq()
46 assert(pirq < PCI_DEVFN_MAX); in remote_iohub_set_irq()
48 QEMU_LOCK_GUARD(&iohub->irq_level_lock[pirq]); in remote_iohub_set_irq()
[all …]
/openbmc/qemu/hw/i386/kvm/
H A Dxen_evtchn.c63 uint16_t pirq; member
170 struct pirq_info *pirq; member
173 #define pirq_inuse_word(s, pirq) (s->pirq_inuse_bitmap[((pirq) / 64)]) argument
174 #define pirq_inuse_bit(pirq) (1ULL << ((pirq) & 63)) argument
176 #define pirq_inuse(s, pirq) (pirq_inuse_word(s, pirq) & pirq_inuse_bit(pirq)) argument
213 assert(p->u.pirq); in xen_evtchn_post_load()
214 assert(p->u.pirq < s->nr_pirqs); in xen_evtchn_post_load()
221 s->pirq[p->u.pirq].gsi = IRQ_UNBOUND; in xen_evtchn_post_load()
222 s->pirq[p->u.pirq].port = i; in xen_evtchn_post_load()
228 s->pirq[s->gsi_pirq[i]].gsi = i; in xen_evtchn_post_load()
[all …]
H A Dtrace-events1 kvm_xen_map_pirq(int pirq, int gsi) "pirq %d gsi %d"
2 kvm_xen_unmap_pirq(int pirq, int gsi) "pirq %d gsi %d"
3 kvm_xen_get_free_pirq(int pirq, int type) "pirq %d type %d"
4 kvm_xen_bind_pirq(int pirq, int port) "pirq %d port %d"
5 kvm_xen_unmask_pirq(int pirq, char *dev, int vector) "pirq %d dev %s vector %d"
/openbmc/linux/arch/x86/pci/
H A Dirq.c53 int (*get)(struct pci_dev *router, struct pci_dev *dev, int pirq);
54 int (*set)(struct pci_dev *router, struct pci_dev *dev, int pirq,
56 int (*lvl)(struct pci_dev *router, struct pci_dev *dev, int pirq,
350 int pirq) in pirq_finali_get()
359 index = (pirq & 1) << 1 | (pirq & 8) >> 3; in pirq_finali_get()
369 int pirq, int irq) in pirq_finali_set()
381 index = (pirq & 1) << 1 | (pirq & 8) >> 3; in pirq_finali_set()
391 int pirq, int irq) in pirq_finali_lvl()
393 u8 mask = ~((pirq & 0xf0u) >> 4); in pirq_finali_lvl()
437 static int pirq_ali_get(struct pci_dev *router, struct pci_dev *dev, int pirq) in pirq_ali_get() argument
[all …]
H A Dxen.c37 int pirq; in xen_pcifront_enable_irq() local
47 pirq = gsi; in xen_pcifront_enable_irq()
52 rc = xen_bind_pirq_gsi_to_irq(gsi, pirq, share, "pcifront"); in xen_pcifront_enable_irq()
55 gsi, pirq, rc); in xen_pcifront_enable_irq()
67 int rc, pirq = -1, irq; in xen_register_pirq() local
77 pirq = gsi; in xen_register_pirq()
82 map_irq.pirq = pirq; in xen_register_pirq()
98 irq = xen_bind_pirq_gsi_to_irq(gsi, map_irq.pirq, shareable, name); in xen_register_pirq()
102 printk(KERN_DEBUG "xen: --> pirq=%d -> irq=%d (gsi=%d)\n", map_irq.pirq, irq, gsi); in xen_register_pirq()
213 static void xen_msi_compose_msg(struct pci_dev *pdev, unsigned int pirq, in xen_msi_compose_msg() argument
[all …]
/openbmc/qemu/hw/xen/
H A Dxen_pt_msi.c156 int pirq, in msi_msix_update() argument
170 is_msix ? "-X" : "", pirq, gvec, gflags, msix_entry); in msi_msix_update()
179 pirq, gflags, table_addr); in msi_msix_update()
197 int pirq, in msi_msix_disable() argument
206 if (pirq == XEN_PT_UNASSIGNED_PIRQ) { in msi_msix_disable()
212 is_msix ? "-X" : "", pirq, gvec); in msi_msix_disable()
213 rc = xc_domain_unbind_msi_irq(xen_xc, xen_domid, gvec, pirq, gflags); in msi_msix_disable()
216 is_msix ? "-X" : "", errno, pirq, gvec); in msi_msix_disable()
221 XEN_PT_LOG(d, "Unmap MSI%s pirq %d\n", is_msix ? "-X" : "", pirq); in msi_msix_disable()
222 rc = xc_physdev_unmap_pirq(xen_xc, xen_domid, pirq); in msi_msix_disable()
[all …]
/openbmc/u-boot/arch/x86/lib/
H A Dpirq_routing.c13 static u8 pirq_get_next_free_irq(struct udevice *dev, u8 *pirq, u16 bitmap, in pirq_get_next_free_irq() argument
55 unsigned char pirq[CONFIG_MAX_PIRQ_LINKS]; in pirq_route_irqs() local
59 memset(pirq, 0, CONFIG_MAX_PIRQ_LINKS); in pirq_route_irqs()
85 if (!pirq[link]) { in pirq_route_irqs()
86 irq = pirq_get_next_free_irq(dev, pirq, bitmap, in pirq_route_irqs()
88 pirq[link] = irq; in pirq_route_irqs()
90 irq = pirq[link]; in pirq_route_irqs()
107 debug("PIRQ%c: %d\n", 'A' + i, pirq[i]); in pirq_route_irqs()
/openbmc/qemu/hw/isa/
H A Dpiix.c49 static void piix_set_pci_irq_level_internal(PIIXState *s, int pirq, int level) in piix_set_pci_irq_level_internal() argument
54 pic_irq = s->dev.config[PIIX_PIRQCA + pirq]; in piix_set_pci_irq_level_internal()
59 mask = 1ULL << ((pic_irq * PIIX_NUM_PIRQS) + pirq); in piix_set_pci_irq_level_internal()
64 static void piix_set_pci_irq_level(PIIXState *s, int pirq, int level) in piix_set_pci_irq_level() argument
68 pic_irq = s->dev.config[PIIX_PIRQCA + pirq]; in piix_set_pci_irq_level()
73 piix_set_pci_irq_level_internal(s, pirq, level); in piix_set_pci_irq_level()
78 static void piix_set_pci_irq(void *opaque, int pirq, int level) in piix_set_pci_irq() argument
81 piix_set_pci_irq_level(s, pirq, level); in piix_set_pci_irq()
110 int pirq; in piix_update_pci_irq_levels() local
113 for (pirq = 0; pirq < PIIX_NUM_PIRQS; pirq++) { in piix_update_pci_irq_levels()
[all …]
/openbmc/u-boot/arch/x86/cpu/
H A Dirq.c80 u8 pirq; in pirq_check_irq_routed() local
84 pirq_linkno_to_reg(priv, link), &pirq); in pirq_check_irq_routed()
86 pirq = readb((uintptr_t)priv->ibase + in pirq_check_irq_routed()
89 pirq &= 0xf; in pirq_check_irq_routed()
92 if (pirq < 3 || pirq == 8 || pirq == 13) in pirq_check_irq_routed()
95 return pirq == irq ? true : false; in pirq_check_irq_routed()
137 int bus, int device, int pin, int pirq) in fill_irq_info() argument
141 slot->irq[pin - 1].link = pirq_linkno_to_reg(priv, pirq); in fill_irq_info()
272 pr.pirq = fdt_addr_to_cpu(cell[2]); in create_pirq_routing_table()
277 'A' + pr.pirq); in create_pirq_routing_table()
[all …]
/openbmc/u-boot/doc/device-tree-bindings/misc/
H A Dintel,irq-router.txt11 - intel,pirq-config : Specifies the IRQ routing register programming mechanism.
16 configuration space, required only if intel,pirq-config = "ibase".
22 - intel,pirq-link : Specifies the PIRQ link information with two cells. The
25 - intel,pirq-regmap : Specifies PIRQ routing register offset of all PIRQ links,
30 link, as specified by the first cell of intel,pirq-link.
31 - intel,pirq-mask : Specifies the IRQ mask representing the 16 IRQs in the
33 - intel,pirq-routing : Specifies all PCI devices' IRQ routing information,
48 intel,pirq-config = "pci";
49 intel,pirq-link = <0x60 8>;
50 intel,pirq-mask = <0xdef8>;
[all …]
/openbmc/linux/drivers/xen/events/
H A Devents_base.c123 unsigned short pirq; member
128 } pirq; member
389 unsigned int pirq, unsigned int gsi, in xen_irq_info_pirq_setup() argument
392 info->u.pirq.pirq = pirq; in xen_irq_info_pirq_setup()
393 info->u.pirq.gsi = gsi; in xen_irq_info_pirq_setup()
394 info->u.pirq.domid = domid; in xen_irq_info_pirq_setup()
395 info->u.pirq.flags = flags; in xen_irq_info_pirq_setup()
464 return info->u.pirq.pirq; in pirq_from_irq()
514 return info->u.pirq.flags & PIRQ_NEEDS_EOI; in pirq_needs_eoi_flag()
816 info->u.pirq.flags &= ~PIRQ_NEEDS_EOI; in pirq_query_unmask()
[all …]
/openbmc/linux/drivers/sh/intc/
H A Dvirq.c150 unsigned int pirq; in intc_subgroup_init_one() local
160 pirq = mapped - intc_irq_xlate; in intc_subgroup_init_one()
175 entry->pirq = pirq; in intc_subgroup_init_one()
234 irq, entry->pirq); in intc_subgroup_map()
238 irq_set_chip_and_handler_name(irq, irq_get_chip(entry->pirq), in intc_subgroup_map()
240 irq_set_chip_data(irq, irq_get_chip_data(entry->pirq)); in intc_subgroup_map()
250 add_virq_to_pirq(entry->pirq, irq); in intc_subgroup_map()
251 irq_set_chained_handler(entry->pirq, intc_virq_handler); in intc_subgroup_map()
/openbmc/linux/Documentation/arch/x86/i386/
H A DIO-APIC.rst44 you can use the pirq= boot parameter to 'hand-construct' IRQ entries. This
48 append="pirq=15,11,10"
87 Slot2, then you'll have to specify this pirq= line::
89 append="pirq=11,9"
91 the following script tries to figure out such a default pirq= line from
94 echo -n pirq=; echo `scanpci | grep T_L | cut -c56-` | sed 's/ /,/g'
101 append="pirq=0,9,11"
106 Generally, it's always possible to find out the correct pirq= settings, just
108 'incorrect' pirq line will cause the booting process to hang, or a device
111 If you have 2 PCI buses, then you can use up to 8 pirq values, although such
[all …]
/openbmc/u-boot/arch/x86/dts/
H A Dqemu-x86_i440fx.dts64 intel,pirq-config = "pci";
65 intel,pirq-link = <0x60 4>;
66 intel,pirq-mask = <0x0e40>;
67 intel,pirq-routing = <
H A Dqemu-x86_q35.dts75 intel,pirq-config = "pci";
78 intel,pirq-link = <0x60 8>;
79 intel,pirq-mask = <0x0e40>;
80 intel,pirq-routing = <
H A Dcougarcanyon2.dts107 intel,pirq-config = "pci";
110 intel,pirq-link = <0x60 8>;
111 intel,pirq-regmap = <
121 intel,pirq-mask = <0xcee0>;
122 intel,pirq-routing = <
H A Dgalileo.dts102 intel,pirq-config = "pci";
104 intel,pirq-link = <0x60 8>;
105 intel,pirq-mask = <0xdef8>;
106 intel,pirq-routing = <
/openbmc/u-boot/arch/x86/cpu/qemu/
H A Dqemu.c167 int mp_determine_pci_dstirq(int bus, int dev, int func, int pirq) in mp_determine_pci_dstirq() argument
184 irq = pirq < 8 ? pirq + 16 : pirq + 12; in mp_determine_pci_dstirq()
/openbmc/linux/drivers/gpio/
H A Dgpio-dwapb.c104 struct dwapb_gpio_port_irqchip *pirq; member
427 static int dwapb_convert_irqs(struct dwapb_gpio_port_irqchip *pirq, in dwapb_convert_irqs() argument
437 pirq->irq[pirq->nr_irqs++] = pp->irq[i]; in dwapb_convert_irqs()
440 return pirq->nr_irqs ? 0 : -ENOENT; in dwapb_convert_irqs()
447 struct dwapb_gpio_port_irqchip *pirq; in dwapb_configure_irqs() local
452 pirq = devm_kzalloc(gpio->dev, sizeof(*pirq), GFP_KERNEL); in dwapb_configure_irqs()
453 if (!pirq) in dwapb_configure_irqs()
456 if (dwapb_convert_irqs(pirq, pp)) { in dwapb_configure_irqs()
465 port->pirq = pirq; in dwapb_configure_irqs()
486 girq->num_parents = pirq->nr_irqs; in dwapb_configure_irqs()
[all …]
/openbmc/linux/drivers/input/misc/
H A Dpcap_keys.c26 int pirq = irq_to_pcap(pcap_keys->pcap, irq); in pcap_keys_handler() local
30 pstat &= 1 << pirq; in pcap_keys_handler()
32 switch (pirq) { in pcap_keys_handler()
/openbmc/linux/include/xen/
H A Devents.h112 unsigned pirq, int shareable, char *name);
119 int pirq, int nvec, const char *name, domid_t domid);
126 int xen_irq_from_pirq(unsigned pirq);
/openbmc/qemu/include/hw/remote/
H A Diohub.h23 int pirq; member
36 void remote_iohub_set_irq(void *opaque, int pirq, int level);
/openbmc/linux/include/xen/interface/
H A Dphysdev.h126 int pirq; member
146 int pirq; member
215 uint32_t pirq; member
/openbmc/linux/drivers/extcon/
H A Dextcon-axp288.c369 int ret, i, pirq; in axp288_extcon_probe() local
432 pirq = platform_get_irq(pdev, i); in axp288_extcon_probe()
433 if (pirq < 0) in axp288_extcon_probe()
434 return pirq; in axp288_extcon_probe()
436 info->irq[i] = regmap_irq_get_virq(info->regmap_irqc, pirq); in axp288_extcon_probe()
439 "failed to get virtual interrupt=%d\n", pirq); in axp288_extcon_probe()
/openbmc/linux/drivers/rtc/
H A Drtc-pcap.c106 static int pcap_rtc_irq_enable(struct device *dev, int pirq, unsigned int en) in pcap_rtc_irq_enable() argument
111 enable_irq(pcap_to_irq(pcap_rtc->pcap, pirq)); in pcap_rtc_irq_enable()
113 disable_irq(pcap_to_irq(pcap_rtc->pcap, pirq)); in pcap_rtc_irq_enable()

123