aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pci/probe.c
diff options
context:
space:
mode:
authorYu Zhao <yu.zhao@intel.com>2009-03-19 23:25:11 -0400
committerJesse Barnes <jbarnes@virtuousgeek.org>2009-03-20 13:48:22 -0400
commitd1b054da8f599905f3c18a218961dcf17f9d5f13 (patch)
tree99b62e6771c3b73142dd0622463bed0e19724342 /drivers/pci/probe.c
parent8293b0f629095efbe7c7e3f9b437f8c040c19eb5 (diff)
PCI: initialize and release SR-IOV capability
If a device has the SR-IOV capability, initialize it (set the ARI Capable Hierarchy in the lowest numbered PF if necessary; calculate the System Page Size for the VF MMIO, probe the VF Offset, Stride and BARs). A lock for the VF bus allocation is also initialized if a PF is the lowest numbered PF. Reviewed-by: Matthew Wilcox <willy@linux.intel.com> Signed-off-by: Yu Zhao <yu.zhao@intel.com> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Diffstat (limited to 'drivers/pci/probe.c')
-rw-r--r--drivers/pci/probe.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index 579a56c8181f..0471f6ea1466 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -785,6 +785,7 @@ static int pci_setup_device(struct pci_dev * dev)
785static void pci_release_capabilities(struct pci_dev *dev) 785static void pci_release_capabilities(struct pci_dev *dev)
786{ 786{
787 pci_vpd_release(dev); 787 pci_vpd_release(dev);
788 pci_iov_release(dev);
788} 789}
789 790
790/** 791/**
@@ -979,6 +980,9 @@ static void pci_init_capabilities(struct pci_dev *dev)
979 980
980 /* Alternative Routing-ID Forwarding */ 981 /* Alternative Routing-ID Forwarding */
981 pci_enable_ari(dev); 982 pci_enable_ari(dev);
983
984 /* Single Root I/O Virtualization */
985 pci_iov_init(dev);
982} 986}
983 987
984void pci_device_add(struct pci_dev *dev, struct pci_bus *bus) 988void pci_device_add(struct pci_dev *dev, struct pci_bus *bus)