This is another iteration on Yongji's series to force MMIO BARs not to share pages, which allows direct passthrough instead of QEMU emulation. The only things I really changed were to add some comments and factor out the code that requests resize. I also pulled in the IOV patch, which touches the same code but was posted separately. These are all on my pci/resource branch, and if all goes well, I plan to merge these for v4.12. Changelog v11: - Include patch to ignore IOV alignment - Add patches to factor out realignment - Add comment about "resize" usage --- Bjorn Helgaas (2): PCI: Factor pci_reassigndev_resource_alignment() PCI: Don't reassign resources that are already aligned Yongji Xie (5): PCI: Ignore requested alignment for IOV BARs PCI: A fix for caculating bridge window's size and alignment PCI: Add pcibios_default_alignment() for arch-specific alignment control powerpc/powernv: Override pcibios_default_alignment() to force PCI devices to be page aligned PCI: Don't resize resources when realigning all devices in system arch/powerpc/include/asm/machdep.h | 2 + arch/powerpc/kernel/pci-common.c | 8 ++ arch/powerpc/platforms/powernv/pci-ioda.c | 7 ++ drivers/pci/pci.c | 106 ++++++++++++++++++++++------- drivers/pci/setup-bus.c | 4 + 5 files changed, 100 insertions(+), 27 deletions(-)