@@ -2934,6 +2934,11 @@ static void pnv_pci_ioda_fixup(void)
#endif
}
+static void pnv_pci_ioda_fixup_phb(struct pci_controller *hose)
+{
+ to_pci_host_bridge(hose->bus->bridge)->msi_filtered = 1;
+}
+
/*
* Returns the alignment for I/O or memory windows for P2P
* bridges. That actually depends on how PEs are segmented.
@@ -3201,6 +3206,7 @@ static void __init pnv_pci_init_ioda_phb(struct device_node *np,
* the child P2P bridges) can form individual PE.
*/
ppc_md.pcibios_fixup = pnv_pci_ioda_fixup;
+ ppc_md.pcibios_fixup_phb = pnv_pci_ioda_fixup_phb;
hose->controller_ops = pnv_pci_ioda_controller_ops;
#ifdef CONFIG_PCI_IOV
This patch enables msi_filtered bit for any IODA host bridge. Signed-off-by: Yongji Xie <xyjxie@linux.vnet.ibm.com> --- arch/powerpc/platforms/powernv/pci-ioda.c | 6 ++++++ 1 file changed, 6 insertions(+)