[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.21.2203301527270.22465@angie.orcam.me.uk>
Date: Thu, 31 Mar 2022 08:10:06 +0100 (BST)
From: "Maciej W. Rozycki" <macro@...am.me.uk>
To: Bjorn Helgaas <bhelgaas@...gle.com>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
"H. Peter Anvin" <hpa@...or.com>
cc: x86@...nel.org, linux-pci@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [RESEND][PATCH v2 0/4] x86/PCI: Odd generic PIRQ router
improvements
Hi,
This series was dropped from x86/irq due to a bug in a follow-up patch,
so resending verbatim after re-verification.
While working on the SiS85C497 PIRQ router I have noticed an odd
phenomenon with my venerable Tyan Tomcat IV S1564D board, where the PCI
INTD# line of the USB host controller included as function 3 of the PIIX3
southbridge cannot be routed in the `noapic' mode. As it turns out the
reason for this is the BIOS has two individual entries in its PIRQ table
for two of its three functions, and the wrong one is chosen for routing
said line.
Strictly speaking this violates the PCI BIOS specification, but it can be
easily worked around while preserving the semantics for compliant systems.
Therefore I have come up with this patch series, which addresses this
problem with 3/4, adds function reporting to the debug PIRQ table dump
with 2/4 and also prints a usable physical memory address of the PIRQ
table in a debug message with 1/4.
Then 4/4 follows, addressing the inability to use a PIRQ table to route
interrupts for devices placed behind PCI-to-PCI bridges on option cards,
and especially where the BIOS has failed to enumerate the whole bus tree
in the first place.
See individual change descriptions for further details.
Please apply.
Maciej
Powered by blists - more mailing lists