freebsd-nq/sys/x86
Konstantin Belousov df0b07834f Fix calculation of requester for PCI device behind PCIe/PCI bridge.
In my case on the test machine, I have hierarchy of
pcib2 (PCIe port on host bridge with PCIe capability) -> pci2 ->
    pcib3 (ITE PCIe/PCI bridge) -> pci3 -> em1

The device to check PCIe capability is pcib2 and not pcib3, as it is
currently done in the code.  Also, in case of the bridge, we shall
step to pcib2 for the loop iteration, since pcib3 does not carry PCIe
capability info and would force wrong recalculation of rid.

Also change the returned requester to the PCIe bus which provides port
for the bridge.  This only results in changing
hw.busdma.pciX.X.X.X.bounce tunable to force identity-mapped context
for the device.

Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2015-01-10 23:12:49 +00:00
..
acpica Create a cpuset mask for each NUMA domain that is available in the 2015-01-08 15:53:13 +00:00
bios Add missing header needed by free(9). 2012-09-30 15:42:20 +00:00
cpufreq Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
include Update Features2 to display SDBG capability of processor. This is 2015-01-08 16:50:35 +00:00
iommu Fix calculation of requester for PCI device behind PCIe/PCI bridge. 2015-01-10 23:12:49 +00:00
isa Virtual machines can easily have more than 16 option ROMs and 2014-10-22 01:37:32 +00:00
pci Pull in r267961 and r267973 again. Fix for issues reported will follow. 2014-06-28 03:56:17 +00:00
x86 Update Features2 to display SDBG capability of processor. This is 2015-01-08 16:50:35 +00:00
xen Fix warning about possible use of uninitialized variable. 2015-01-02 08:42:44 +00:00