mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-30 08:04:13 +08:00
PCI: iproc: Skip check for legacy IRQ on PAXC buses
PAXC and PAXCv2 buses do not support legacy IRQs so there is no reason to even try and map them. Without a change like this, one cannot create VFs on Nitro ports since legacy interrupts are checked as part of the PCI device creation process. Testing on PAXC hardware showed that VFs are properly created with only the change to not set pcie->map_irq, but just to be safe the change in iproc_pcie_setup() will ensure that pdev_fixup_irq() will not panic. Signed-off-by: Andy Gospodarek <gospo@broadcom.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Ray Jui <ray.jui@broadcom.com>
This commit is contained in:
parent
feacdb4a35
commit
ffbd796821
@ -108,7 +108,14 @@ static int iproc_pcie_pltfm_probe(struct platform_device *pdev)
|
||||
return ret;
|
||||
}
|
||||
|
||||
pcie->map_irq = of_irq_parse_and_map_pci;
|
||||
/* PAXC doesn't support legacy IRQs, skip mapping */
|
||||
switch (pcie->type) {
|
||||
case IPROC_PCIE_PAXC:
|
||||
case IPROC_PCIE_PAXC_V2:
|
||||
break;
|
||||
default:
|
||||
pcie->map_irq = of_irq_parse_and_map_pci;
|
||||
}
|
||||
|
||||
ret = iproc_pcie_setup(pcie, &res);
|
||||
if (ret)
|
||||
|
@ -1274,7 +1274,10 @@ int iproc_pcie_setup(struct iproc_pcie *pcie, struct list_head *res)
|
||||
|
||||
pci_scan_child_bus(bus);
|
||||
pci_assign_unassigned_bus_resources(bus);
|
||||
pci_fixup_irqs(pci_common_swizzle, pcie->map_irq);
|
||||
|
||||
if (pcie->map_irq)
|
||||
pci_fixup_irqs(pci_common_swizzle, pcie->map_irq);
|
||||
|
||||
pci_bus_add_devices(bus);
|
||||
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user