summaryrefslogtreecommitdiffstats
path: root/arch/arc/boot
diff options
context:
space:
mode:
authorWei Yang <weiyang@linux.vnet.ibm.com>2015-03-25 16:23:51 +0800
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2015-03-31 13:02:37 +1100
commitd74b9027a4dafa44d3a3c2a44ce135e50a13ec10 (patch)
tree7f7bedddc7287c1a8415f4ae37fa16c6ec5206ef /arch/arc/boot
parent978d2d68312326b715a5913aaab1eaf24fe99108 (diff)
downloadblackbird-op-linux-d74b9027a4dafa44d3a3c2a44ce135e50a13ec10.tar.gz
blackbird-op-linux-d74b9027a4dafa44d3a3c2a44ce135e50a13ec10.zip
PCI: Consider additional PF's IOV BAR alignment in sizing and assigning
When sizing and assigning resources, we divide the resources into two lists: the requested list and the additional list. We don't consider the alignment of additional VF(n) BAR space. This is because the alignment required for the VF(n) BAR space is the size of an individual VF BAR, not the size of the space for *all* VFs. But we want additional alignment to support partitioning on PowerNV. Consider the additional IOV BAR alignment when sizing and assigning resources. When there is not enough system MMIO space to accomodate both the requested list and the additional list, the PF's IOV BAR alignment will not contribute to the bridge. When there is enough system MMIO space for both lists, the additional alignment will contribute to the bridge. The additional alignment is stored in the min_align of pci_dev_resource, which is stored in the additional list by add_to_list() at the end of pbus_size_mem(). The additional alignment is calculated in pci_resource_alignment(). For an IOV BAR, we have arch dependent function to get the alignment for different arch. [bhelgaas: changelog, printk cast] Signed-off-by: Wei Yang <weiyang@linux.vnet.ibm.com> Acked-by: Bjorn Helgaas <bhelgaas@google.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/arc/boot')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud