summaryrefslogtreecommitdiffstats
path: root/include/linux/pci.h
diff options
context:
space:
mode:
authorMatthew Wilcox <matthew@wil.cx>2009-12-13 08:10:02 -0500
committerJesse Barnes <jbarnes@virtuousgeek.org>2010-02-22 16:15:16 -0800
commitf07852d6442c46c50b59c7e2acc8a1b291f9ab6d (patch)
treed855a7bc7df8f3e84f1d267e060537ec011477c6 /include/linux/pci.h
parentbee415ce427d1eab6cfb30221461c7d20cbf1903 (diff)
downloadop-kernel-dev-f07852d6442c46c50b59c7e2acc8a1b291f9ab6d.zip
op-kernel-dev-f07852d6442c46c50b59c7e2acc8a1b291f9ab6d.tar.gz
PCI: Rewrite pci_scan_slot
The Alternate Routing-ID Interpretation capability allows a single device to have up to 256 functions. They can be populated sparsely, so the current technique of scanning every eighth function is not guaranteed to find them all. By introducing a 'next_fn' function pointer, we can use the linked list of functions in the ARI capability to scan all the functions which exist. We can then speed up the pci_scan_slot by skipping the scan of subsequent devfns for PCIe devices which are the direct children of Root Ports or Downstream Ports. These devices are only permitted to implement device 0, unless they are ARI devices, in which case they'll be scanned by the ARI code above. Signed-off-by: Matthew Wilcox <willy@linux.intel.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'include/linux/pci.h')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud