Re: [PATCH 0/2] PCI: Allow disabling port services on broken root ports
Han Gao <[email protected]> Wed, 1 Apr 2026 03:07:53 +0800
| Newsgroups | dev.linux.lists.sophgo,org.infradead.lists.linux-riscv,org.kernel.vger.linux-kernel,org.kernel.vger.linux-pci |
|---|---|
| Message-ID | <CAAT7Ki8_xKTOuX2kjmkfXrKMevxQZcO26jdmExx8vCXnu1_c4A@mail.gmail.com> |
On Wed, Apr 1, 2026 at 2:58 AM Lukas Wunner <[email protected]> wrote: > > On Wed, Apr 01, 2026 at 01:56:56AM +0800, Han Gao wrote: > > SG2042's PCIe root ports only support MSI, not MSI-X. The MSI > > controller provides only 32 vectors shared across all devices behind > > each root port. When native port services claim vectors from this > > limited pool, downstream devices are starved of interrupts, resulting > > in zero interrupts delivered and driver timeouts (e.g. amdgpu fence > > fallback timer expired on all rings). > > Have you considered setting the pci_dev::no_msi flag on the Root Ports > to force them to use INTx interrupts instead of MSI? That would seem > like a cleaner solution. There are already several devices for which > the flag is set in drivers/pci/quirks.c, see quirk_no_msi(). Unfortunately, the SG2042 has no INTx interrupts. > > > Some PCIe root ports break MSI delivery to downstream devices when > > native port services (AER, PME, bwctrl, etc.) are active. The existing > > pcie_ports=compat kernel parameter works around this globally, but > > affects all ports on the system. > > > > This series adds a per-device mechanism to skip port service probing: > > 1. Introduce PCI_DEV_FLAGS_NO_PORT_SERVICES flag and wire it into > > the PCIe port driver > > 2. Apply it via quirk to Sophgo SG2042 root ports [1f1c:2042], which > > fail to deliver MSI interrupts when port services are enabled > > I think we should try to minimize such workarounds or at least make them > as non-intrusive as possible, so please try the no_msi approach instead. > > I also don't see why the stable designation is needed TBH. 6.18 has merged PCIe drivers, so a stable tag is required. > > Thanks, > > Lukas Han