Messages in this thread Patch in this message | | | Date | Wed, 02 Feb 2022 20:30:48 -0000 | From | "tip-bot2 for Maciej W. Rozycki" <> | Subject | [tip: x86/irq] x86/PCI: Include function number in $PIR table dump |
| |
The following commit has been merged into the x86/irq branch of tip:
Commit-ID: 9574931789945734fd8abcf99883b83a3b3b32ba Gitweb: https://git.kernel.org/tip/9574931789945734fd8abcf99883b83a3b3b32ba Author: Maciej W. Rozycki <macro@orcam.me.uk> AuthorDate: Sun, 02 Jan 2022 23:24:29 Committer: Thomas Gleixner <tglx@linutronix.de> CommitterDate: Wed, 02 Feb 2022 21:27:54 +01:00
x86/PCI: Include function number in $PIR table dump
Contrary to the PCI BIOS specification[1] some systems include the PCI function number for motherboard devices in their $PIR table, e.g. this is what the Tyan Tomcat IV S1564D board reports:
00:14 slot=01 0:60/deb8 1:61/deb8 2:62/deb8 3:63/deb8
00:13 slot=02 0:61/deb8 1:62/deb8 2:63/deb8 3:60/deb8
00:12 slot=03 0:62/deb8 1:63/deb8 2:60/deb8 3:61/deb8
00:11 slot=04 0:63/deb8 1:60/deb8 2:61/deb8 3:62/deb8
00:07 slot=00 0:00/deb8 1:00/deb8 2:00/deb8 3:00/deb8
00:07 slot=00 0:00/deb8 1:00/deb8 2:00/deb8 3:63/deb8
Print the function number then in the debug $PIR table dump:
00:14.0 slot=01 0:60/deb8 1:61/deb8 2:62/deb8 3:63/deb8
00:13.0 slot=02 0:61/deb8 1:62/deb8 2:63/deb8 3:60/deb8
00:12.0 slot=03 0:62/deb8 1:63/deb8 2:60/deb8 3:61/deb8
00:11.0 slot=04 0:63/deb8 1:60/deb8 2:61/deb8 3:62/deb8
00:07.1 slot=00 0:00/deb8 1:00/deb8 2:00/deb8 3:00/deb8
00:07.2 slot=00 0:00/deb8 1:00/deb8 2:00/deb8 3:63/deb8
References:
[1] "PCI BIOS Specification", Revision 2.1, PCI Special Interest Group, August 26, 1994, Table 4-1 "Layout of IRQ routing table entry.", p. 12
Signed-off-by: Maciej W. Rozycki <macro@orcam.me.uk> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/r/alpine.DEB.2.21.2201020153230.56863@angie.orcam.me.uk
--- arch/x86/pci/irq.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/x86/pci/irq.c b/arch/x86/pci/irq.c index a33fe9c..b6b9853 100644 --- a/arch/x86/pci/irq.c +++ b/arch/x86/pci/irq.c @@ -135,7 +135,8 @@ static void __init pirq_peer_trick(void) #ifdef DEBUG { int j; - DBG(KERN_DEBUG "%02x:%02x slot=%02x", e->bus, e->devfn/8, e->slot); + DBG(KERN_DEBUG "%02x:%02x.%x slot=%02x", + e->bus, e->devfn / 8, e->devfn % 8, e->slot); for (j = 0; j < 4; j++) DBG(" %d:%02x/%04x", j, e->irq[j].link, e->irq[j].bitmap); DBG("\n");
| |