diff options
author | jhb <jhb@FreeBSD.org> | 2012-03-29 19:03:22 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2012-03-29 19:03:22 +0000 |
commit | 876e74a14e5e797af724083627fdae328d77d62a (patch) | |
tree | 16d6f5200857c5f9b1d5733c5b7289fa5ebbdc2d /contrib/diff/lib/prepargs.h | |
parent | 38fb55f1d4d3789de9a985973acad5091a0e222e (diff) | |
download | FreeBSD-src-876e74a14e5e797af724083627fdae328d77d62a.zip FreeBSD-src-876e74a14e5e797af724083627fdae328d77d62a.tar.gz |
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
Diffstat (limited to 'contrib/diff/lib/prepargs.h')
0 files changed, 0 insertions, 0 deletions