Skip to content

Commit 61af692

Browse files
Marc ZyngierLorenzo Pieralisi
authored andcommitted
PCI/MSI: Document the various ways of ending up with NO_MSI
We have now three ways of ending up with NO_MSI being set. Document them. Link: https://lore.kernel.org/r/20210330151145.997953-14-maz@kernel.org Signed-off-by: Marc Zyngier <maz@kernel.org> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Acked-by: Bjorn Helgaas <bhelgaas@google.com>
1 parent 645e9c3 commit 61af692

1 file changed

Lines changed: 9 additions & 2 deletions

File tree

drivers/pci/msi.c

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -871,8 +871,15 @@ static int pci_msi_supported(struct pci_dev *dev, int nvec)
871871
* Any bridge which does NOT route MSI transactions from its
872872
* secondary bus to its primary bus must set NO_MSI flag on
873873
* the secondary pci_bus.
874-
* We expect only arch-specific PCI host bus controller driver
875-
* or quirks for specific PCI bridges to be setting NO_MSI.
874+
*
875+
* The NO_MSI flag can either be set directly by:
876+
* - arch-specific PCI host bus controller drivers (deprecated)
877+
* - quirks for specific PCI bridges
878+
*
879+
* or indirectly by platform-specific PCI host bridge drivers by
880+
* advertising the 'msi_domain' property, which results in
881+
* the NO_MSI flag when no MSI domain is found for this bridge
882+
* at probe time.
876883
*/
877884
for (bus = dev->bus; bus; bus = bus->parent)
878885
if (bus->bus_flags & PCI_BUS_FLAGS_NO_MSI)

0 commit comments

Comments
 (0)