PCI fixes for v4.5
Hi Linus,
The big chunk here is the paravirtual front-end for Linux guests of a Microsoft Hyper-V VM. It's new, so no risk of regressions to pci-hyperv itself. It does include minor changes to common code, but they are low-risk.
This also reverts a few pieces of the recent IOAPIC hotplug work because they caused a regression for existing drivers that require IRQs to be enabled for upstream bridges.
Finally, explicitly restrict the MVEBU driver to 32-bit ARM because it uses some PCI glue only available there. It depends on ARCH_MVEBU, which used to be 32-bit ARM only but is now becoming available for 64-bit ARM.
Bjorn
The following changes since commit 0cf1337e0b83c16de4e7e98dad3a6afce6043fea:
PCI: rcar: Add device tree support for r8a7793 (2016-02-05 14:13:53 -0600)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git tags/pci-v4.5-fixes-2
for you to fetch changes up to 2f8f01f7e495901042339a333d4385ed5b1e426a:
Merge branch 'pci/host-hv' into for-linus (2016-02-27 08:52:36 -0600)
----------------------------------------------------------------
PCI updates for v4.5:
Enumeration
Revert x86 pcibios_alloc_irq() to fix regression (Bjorn Helgaas)
Marvell MVEBU host bridge driver
Restrict build to 32-bit ARM (Thierry Reding)
Microsoft Hyper-V host bridge driver
Add paravirtual front-end for guests of Microsoft Hyper-V VMs (Jake Oshins)
----------------------------------------------------------------
Bjorn Helgaas (4):
Revert "x86/PCI: Don't alloc pcibios-irq when MSI is enabled" Revert "PCI: Add helpers to manage pci_dev->irq and pci_dev->irq_managed" Revert "PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq()" Merge branch 'pci/host-hv' into for-linus
Jake Oshins (3):
PCI: Add fwnode_handle to x86 pci_sysdata
PCI: Look up IRQ domain by fwnode_handle
PCI: hv: Add paravirtual PCI front-end for Microsoft Hyper-V VMs
Thierry Reding (1):
PCI: mvebu: Restrict build to 32-bit ARM
MAINTAINERS | 1 + arch/x86/include/asm/pci.h | 15 + arch/x86/include/asm/pci_x86.h | 2 + arch/x86/pci/common.c | 26 +- arch/x86/pci/intel_mid_pci.c | 9 +- arch/x86/pci/irq.c | 23 +- drivers/acpi/pci_irq.c | 17 +- drivers/pci/Kconfig | 7 + drivers/pci/host/Kconfig | 1 + drivers/pci/host/Makefile | 1 + drivers/pci/host/pci-hyperv.c | 2346 ++++++++++++++++++++++++++++++++++++++++ drivers/pci/probe.c | 15 + include/linux/pci.h | 21 +- 13 files changed, 2437 insertions(+), 47 deletions(-) create mode 100644 drivers/pci/host/pci-hyperv.c
Quoted 5 lines · Bjorn Helgaas
The big chunk here is the paravirtual front-end for Linux guests of a Microsoft Hyper-V VM. It's new, so no risk of regressions to pci-hyperv itself. It does include minor changes to common code, but they are low-risk.
I really don't want to take new features like this that change existing code when I'm about to do a rc6.
I've done late hardware-enabling pulls before with new drivers etc, but then they are meant to enable consumer hardware that people would have trouble getting Linux installed on etc. A paravirt Hyper-V VM install doesn't really count as that kind of "we need to get this in quickly out of the normal development model".
I didn't check, but can you peel off that part if it's at the top and just send me the actual bugfixes?
Linus
Quoted 10 lines · Linus Torvalds
Quoted 5 lines · Bjorn Helgaas
The big chunk here is the paravirtual front-end for Linux guests of a Microsoft Hyper-V VM. It's new, so no risk of regressions to pci-hyperv itself. It does include minor changes to common code, but they are low-risk.
I really don't want to take new features like this that change existing code when I'm about to do a rc6.
Quoted 8 lines
I've done late hardware-enabling pulls before with new drivers etc, but then they are meant to enable consumer hardware that people would have trouble getting Linux installed on etc. A paravirt Hyper-V VM install doesn't really count as that kind of "we need to get this in quickly out of the normal development model".
I didn't check, but can you peel off that part if it's at the top and just send me the actual bugfixes?
Of course! The Hyper-V stuff was the top-most merge, so I dropped that and added a new tag, pci-v4.5-fixes-3, with just the fixes. Here it is:
The following changes since commit 0cf1337e0b83c16de4e7e98dad3a6afce6043fea:
PCI: rcar: Add device tree support for r8a7793 (2016-02-05 14:13:53 -0600)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git tags/pci-v4.5-fixes-3
for you to fetch changes up to 61d9e854dfb91b46b99ffd3d31fc7d45d2b95f31:
PCI: mvebu: Restrict build to 32-bit ARM (2016-02-27 08:52:20 -0600)
----------------------------------------------------------------
PCI updates for v4.5:
Enumeration
Revert x86 pcibios_alloc_irq() to fix regression (Bjorn Helgaas)
Marvell MVEBU host bridge driver
Restrict build to 32-bit ARM (Thierry Reding)
----------------------------------------------------------------
Bjorn Helgaas (3):
Revert "x86/PCI: Don't alloc pcibios-irq when MSI is enabled" Revert "PCI: Add helpers to manage pci_dev->irq and pci_dev->irq_managed" Revert "PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq()"
Thierry Reding (1):
PCI: mvebu: Restrict build to 32-bit ARM
arch/x86/include/asm/pci_x86.h | 2 ++ arch/x86/pci/common.c | 26 ++++++++++---------------- arch/x86/pci/intel_mid_pci.c | 9 +++------ arch/x86/pci/irq.c | 23 +++++++++++++++++++---- drivers/acpi/pci_irq.c | 17 +++++++++++++---- drivers/pci/host/Kconfig | 1 + include/linux/pci.h | 17 ----------------- 7 files changed, 48 insertions(+), 47 deletions(-)