Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ffbd7968 authored by Andy Gospodarek's avatar Andy Gospodarek Committed by Bjorn Helgaas
Browse files

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: default avatarAndy Gospodarek <gospo@broadcom.com>
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
Acked-by: default avatarRay Jui <ray.jui@broadcom.com>
parent feacdb4a
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -108,7 +108,14 @@ static int iproc_pcie_pltfm_probe(struct platform_device *pdev)
		return ret;
	}

	/* 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)
+4 −1
Original line number Diff line number Diff line
@@ -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);

	if (pcie->map_irq)
		pci_fixup_irqs(pci_common_swizzle, pcie->map_irq);

	pci_bus_add_devices(bus);

	return 0;