diff options
author | Yu Zhao <yu.zhao@intel.com> | 2009-03-19 23:25:11 -0400 |
---|---|---|
committer | Jesse Barnes <jbarnes@virtuousgeek.org> | 2009-03-20 13:48:22 -0400 |
commit | d1b054da8f599905f3c18a218961dcf17f9d5f13 (patch) | |
tree | 99b62e6771c3b73142dd0622463bed0e19724342 /drivers/pci/probe.c | |
parent | 8293b0f629095efbe7c7e3f9b437f8c040c19eb5 (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.c | 4 |
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) | |||
785 | static void pci_release_capabilities(struct pci_dev *dev) | 785 | static 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 | ||
984 | void pci_device_add(struct pci_dev *dev, struct pci_bus *bus) | 988 | void pci_device_add(struct pci_dev *dev, struct pci_bus *bus) |