mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 12:17:12 +09:00
UPSTREAM: 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>
(cherry picked from commit 61af69296c)
Signed-off-by: Marc Zyngier <mzyngier@google.com>
Change-Id: I183486a507351c0675c125d8c364e49ef226ff20
Bug: 187801341
This commit is contained in:
committed by
Marc Zyngier
parent
6fb0363250
commit
6153aabded
@@ -848,8 +848,15 @@ static int pci_msi_supported(struct pci_dev *dev, int nvec)
|
||||
* Any bridge which does NOT route MSI transactions from its
|
||||
* secondary bus to its primary bus must set NO_MSI flag on
|
||||
* the secondary pci_bus.
|
||||
* We expect only arch-specific PCI host bus controller driver
|
||||
* or quirks for specific PCI bridges to be setting NO_MSI.
|
||||
*
|
||||
* The NO_MSI flag can either be set directly by:
|
||||
* - arch-specific PCI host bus controller drivers (deprecated)
|
||||
* - quirks for specific PCI bridges
|
||||
*
|
||||
* or indirectly by platform-specific PCI host bridge drivers by
|
||||
* advertising the 'msi_domain' property, which results in
|
||||
* the NO_MSI flag when no MSI domain is found for this bridge
|
||||
* at probe time.
|
||||
*/
|
||||
for (bus = dev->bus; bus; bus = bus->parent)
|
||||
if (bus->bus_flags & PCI_BUS_FLAGS_NO_MSI)
|
||||
|
||||
Reference in New Issue
Block a user