Thread (17 messages) read the whole thread 17 messages, 6 authors, 2013-02-12

Re: [Bisected] [-next-20130204] usb/hcd: irq 18: nobody cared

From: Yinghai Lu <yinghai@kernel.org>
Date: 2013-02-12 03:21:43
Also in: linux-acpi, linux-pci, lkml

On Mon, Feb 11, 2013 at 4:08 PM, Yinghai Lu [off-list ref] wrote:
On Mon, Feb 11, 2013 at 2:41 PM, Bjorn Helgaas [off-list ref] wrote:
quoted
[+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

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help