Skip to content

Commit 03e1ccd

Browse files
committed
Merge tag 'x86-irq-2022-05-23' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 PCI irq routing updates from Thomas Gleixner: - Cleanup and robustify the PCI interrupt routing table handling including proper range checks - Add support for Intel 82378ZB/82379AB, SiS85C497 PIRQ routers - Fix the ALi M1487 router handling - Handle the IRT routing table format in AMI BIOSes correctly * tag 'x86-irq-2022-05-23' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/PCI: Fix coding style in PIRQ table verification x86/PCI: Fix ALi M1487 (IBC) PIRQ router link value interpretation x86/PCI: Add $IRT PIRQ routing table support x86/PCI: Handle PIRQ routing tables with no router device given x86/PCI: Add PIRQ routing table range checks x86/PCI: Add support for the SiS85C497 PIRQ router x86/PCI: Disambiguate SiS85C503 PIRQ router code entities x86/PCI: Handle IRQ swizzling with PIRQ routers x86/PCI: Also match function number in $PIR table x86/PCI: Include function number in $PIR table dump x86/PCI: Show the physical address of the $PIR table
2 parents 6e01f86 + c25f234 commit 03e1ccd

2 files changed

Lines changed: 322 additions & 64 deletions

File tree

arch/x86/include/asm/pci_x86.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,15 @@ struct irq_routing_table {
9393
struct irq_info slots[];
9494
} __attribute__((packed));
9595

96+
struct irt_routing_table {
97+
u32 signature; /* IRT_SIGNATURE should be here */
98+
u8 size; /* Number of entries provided */
99+
u8 used; /* Number of entries actually used */
100+
u16 exclusive_irqs; /* IRQs devoted exclusively to
101+
PCI usage */
102+
struct irq_info slots[];
103+
} __attribute__((packed));
104+
96105
extern unsigned int pcibios_irq_mask;
97106

98107
extern raw_spinlock_t pci_config_lock;

0 commit comments

Comments
 (0)