freebsd-skq/sys/dev/pci
John Baldwin 0d95597ca9 Use a more proper fix for enabling HT MSI mapping windows on Host-PCI
bridges.  Rather than blindly enabling the windows on all of them, only
enable the window when an MSI interrupt is enabled for a device behind
the bridge, similar to what already happens for HT PCI-PCI bridges.

To implement this, each x86 Host-PCI bridge driver has to be able to
locate it's actual backing device on bus 0.  For ACPI, use the _ADR
method to find the slot and function of the device.  For the non-ACPI
case, the legacy(4) driver already scans bus 0 looking for Host-PCI
bridge devices.  Now it saves the slot and function of each bridge that
it finds as ivars that the Host-PCI bridge driver can then use in its
pcib_map_msi() method.

This fixes machines where non-MSI interrupts were broken by the previous
round of HT MSI changes.

Tested by:	bapt
MFC after:	1 week
2012-03-29 19:03:22 +00:00
..
eisa_pci.c
fixup_pci.c
hostb_pci.c Expand the set of APIs available for locating PCI capabilities: 2012-03-03 18:08:57 +00:00
ignore_pci.c
isa_pci.c Implement BUS_ADD_CHILD() for the isab(4) driver. It already calls 2011-12-14 12:34:02 +00:00
pci_if.m Expand the set of APIs available for locating PCI capabilities: 2012-03-03 18:08:57 +00:00
pci_pci.c
pci_private.h Simplify the PCI bus dma tag code a bit. First, don't create a tag at 2012-03-07 18:50:33 +00:00
pci_subr.c
pci_user.c
pci.c Use a more proper fix for enabling HT MSI mapping windows on Host-PCI 2012-03-29 19:03:22 +00:00
pcib_if.m
pcib_private.h
pcireg.h Save more of config space for PCI Express and PCI-X devices. 2012-03-08 21:09:34 +00:00
pcivar.h Save more of config space for PCI Express and PCI-X devices. 2012-03-08 21:09:34 +00:00
vga_pci.c Expand the set of APIs available for locating PCI capabilities: 2012-03-03 18:08:57 +00:00