|
|
@@ -647,9 +647,15 @@ static struct pci_bus *xilinx_pcie_scan_bus(int nr, struct pci_sys_data *sys)
|
|
|
struct pci_bus *bus;
|
|
|
|
|
|
port->root_busno = sys->busnr;
|
|
|
- bus = pci_scan_root_bus(port->dev, sys->busnr, &xilinx_pcie_ops,
|
|
|
- sys, &sys->resources);
|
|
|
|
|
|
+ if (IS_ENABLED(CONFIG_PCI_MSI))
|
|
|
+ bus = pci_scan_root_bus_msi(port->dev, sys->busnr,
|
|
|
+ &xilinx_pcie_ops, sys,
|
|
|
+ &sys->resources,
|
|
|
+ &xilinx_pcie_msi_chip);
|
|
|
+ else
|
|
|
+ bus = pci_scan_root_bus(port->dev, sys->busnr,
|
|
|
+ &xilinx_pcie_ops, sys, &sys->resources);
|
|
|
return bus;
|
|
|
}
|
|
|
|
|
|
@@ -847,7 +853,6 @@ static int xilinx_pcie_probe(struct platform_device *pdev)
|
|
|
|
|
|
#ifdef CONFIG_PCI_MSI
|
|
|
xilinx_pcie_msi_chip.dev = port->dev;
|
|
|
- hw.msi_ctrl = &xilinx_pcie_msi_chip;
|
|
|
#endif
|
|
|
pci_common_init_dev(dev, &hw);
|
|
|
|