j
: Next unread message k
: Previous unread message j a
: Jump to all threads
j l
: Jump to MailingList overview
Author: blueswirl Date: Sat Apr 27 13:42:14 2013 New Revision: 1131 URL: http://tracker.coreboot.org/trac/openbios/changeset/1131
Log: sparc64: use direct interrupt mapping for PCI devices
Every PCI Slot in PBM has 4 directly mapped IRQ lines. Use the IRQ routing schema 0bssnn (Bus, Slot, interrupt Number) described in Section 19.3.3 of UltraSPARCâ„¢-IIi User's Manual.
Please note that this patch requires the QEMU counterpart patch.
Signed-off-by: Artyom Tarasenko atar4qemu@gmail.com Signed-off-by: Blue Swirl blauwirbel@gmail.com
Modified: trunk/openbios-devel/drivers/pci.c
Modified: trunk/openbios-devel/drivers/pci.c ============================================================================== --- trunk/openbios-devel/drivers/pci.c Sat Apr 27 13:30:16 2013 (r1130) +++ trunk/openbios-devel/drivers/pci.c Sat Apr 27 13:42:14 2013 (r1131) @@ -854,7 +854,14 @@ if (config->irq_pin) { OLDWORLD(set_int_property(dev, "AAPL,interrupts", config->irq_line)); +#if defined(CONFIG_SPARC64) + /* direct mapping bssnn (Bus, Slot, interrupt Number */ + set_int_property(get_cur_dev(), "interrupts", + ((((config->dev >> 11) << 2) + + config->irq_pin - 1) & 0x1f)); +#else NEWWORLD(set_int_property(dev, "interrupts", config->irq_pin)); +#endif }
set_int_property(dev, "min-grant", pci_config_read8(addr, PCI_MIN_GNT));