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

Commit 4b824de9 authored by Adhemerval Zanella's avatar Adhemerval Zanella Committed by Paul Mackerras
Browse files

powerpc: Fix IRQ assignment for some PCIe devices



Currently, some PCIe devices on POWER6 machines do not get interrupts
assigned correctly.  The problem is that OF doesn't create an
"interrupt" property for them.  The fix is for of_irq_map_pci to fall
back to using the value in the PCI interrupt-pin register in config
space, as we do when there is no OF device-tree node for the device.

I have verified that this works fine with a pair of Squib-E SAS
adapter on a P6-570.

Acked-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>

Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 3f9b5d4d
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -250,8 +250,11 @@ int of_irq_map_pci(struct pci_dev *pdev, struct of_irq *out_irq)
	 * parsing
	 */
	dn = pci_device_to_OF_node(pdev);
	if (dn)
		return of_irq_map_one(dn, 0, out_irq);
	if (dn) {
		rc = of_irq_map_one(dn, 0, out_irq);
		if (!rc)
			return rc;
	}

	/* Ok, we don't, time to have fun. Let's start by building up an
	 * interrupt spec.  we assume #interrupt-cells is 1, which is standard