On Mon, Feb 11, 2013 at 4:08 PM, Yinghai Lu <yinghai@xxxxxxxxxx> wrote: > On Mon, Feb 11, 2013 at 2:41 PM, Bjorn Helgaas <bhelgaas@xxxxxxxxxx> wrote: >> [+cc linux-acpi, linux-pci] >> >> The _PRT describes motherboard interrupt wiring, which has nothing to >> do with PCI bus numbers. Our current drivers/acpi/pci_irq.c caches >> the PCI bus number along with the _PRT, and I think that's a mistake. >> >> The bus number binding means acpi_pci_irq_add_prt() has to happen >> after enumerating everything below a bridge, and it will prevent us >> from doing any bus number reassignment for hotplug. >> >> I think we should remove the bus numbers from the cached _PRT (or >> maybe even remove the _PRT caching completely). When we enable a PCI >> device's IRQ, we should search up the PCI device tree looking for a >> _PRT associated with each node, and applying normal PCI bridge >> swizzling when we don't find a _PRT. I think this can be done without >> using PCI bus numbers at all. >> > > Agreed, will give it try to remove the _PRT caching completely. > Please check attached patch that removes _PRT caching. Thanks Yinghai
Attachment:
move_setup_prt_down.patch
Description: Binary data