[PATCH] powerpc: Fix irq routing on some PowerMac 32 bits

Zang Roy-r61911 tie-fei.zang at freescale.com
Wed Jan 10 14:00:03 EST 2007


Ben,
	After apply your patch, my 8548CDS board blocked when booting up.
	Should I adjust my flat device tree or bug introduced by this patch?
	Thanks.
Roy


On Mon, 2006-12-11 at 11:09, Benjamin Herrenschmidt wrote:
> The changes to use pci_read_irq_line() broke interrupt parsing
> on some 32 bits powermacs (oops). The reason is a bit obscure.
> The code to parse interrupts happens earlier now, during
> pcibios_fixup() as the PCI bus is being probed. However, the
> current implementation pci_device_to_OF_node() for 32 bits
> powerpc relies, on machines like PowerMac who renumber PCI busses,
> on a table called pci_OF_bus_map containing a map of bus numbers
> between the kernel and the firmware which is setup only later.
> Thus, it fails to match the device node. In addition, some of
> Apple internal PCI devices lack a proper PCI_INTERRUPT_PIN, thus
> preventing the fallback mapping code to work.
> 
> This patch fixes it by making pci_device_to_OF_node() 32 bits
> implementation use a different algorithm that works without
> using the pci_OF_bus_map thing (which I intend to deprecate
> anyway). It's a bit slower but that function isn't called in
> any hot path hopefully.
> 





More information about the Linuxppc-dev mailing list