Linus Torvalds
c8d0267efd
Merge tag 'pci-v4.8-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci
Pull PCI updates from Bjorn Helgaas:
"Highlights:
- ARM64 support for ACPI host bridges
- new drivers for Axis ARTPEC-6 and Marvell Aardvark
- new pci_alloc_irq_vectors() interface for MSI-X, MSI, legacy INTx
- pci_resource_to_user() cleanup (more to come)
Detailed summary:
Enumeration:
- Move ecam.h to linux/include/pci-ecam.h (Jayachandran C)
- Add parent device field to ECAM struct pci_config_window (Jayachandran C)
- Add generic MCFG table handling (Tomasz Nowicki)
- Refactor pci_bus_assign_domain_nr() for CONFIG_PCI_DOMAINS_GENERIC (Tomasz Nowicki)
- Factor DT-specific pci_bus_find_domain_nr() code out (Tomasz Nowicki)
Resource management:
- Add devm_request_pci_bus_resources() (Bjorn Helgaas)
- Unify pci_resource_to_user() declarations (Bjorn Helgaas)
- Implement pci_resource_to_user() with pcibios_resource_to_bus() (microblaze, powerpc, sparc) (Bjorn Helgaas)
- Request host bridge window resources (designware, iproc, rcar, xgene, xilinx, xilinx-nwl) (Bjorn Helgaas)
- Make PCI I/O space optional on ARM32 (Bjorn Helgaas)
- Ignore write combining when mapping I/O port space (Bjorn Helgaas)
- Claim bus resources on MIPS PCI_PROBE_ONLY set-ups (Bjorn Helgaas)
- Remove unicore32 pci=firmware command line parameter handling (Bjorn Helgaas)
- Support I/O resources when parsing host bridge resources (Jayachandran C)
- Add helpers to request/release memory and I/O regions (Johannes Thumshirn)
- Use pci_(request|release)_mem_regions (NVMe, lpfc, GenWQE, ethernet/intel, alx) (Johannes Thumshirn)
- Extend pci=resource_alignment to specify device/vendor IDs (Koehrer Mathias (ETAS/ESW5))
- Add generic pci_bus_claim_resources() (Lorenzo Pieralisi)
- Claim bus resources on ARM32 PCI_PROBE_ONLY set-ups (Lorenzo Pieralisi)
- Remove ARM32 and ARM64 arch-specific pcibios_enable_device() (Lorenzo Pieralisi)
- Add pci_unmap_iospace() to unmap I/O resources (Sinan Kaya)
- Remove powerpc __pci_mmap_set_pgprot() (Yinghai Lu)
PCI device hotplug:
- Allow additional bus numbers for hotplug bridges (Keith Busch)
- Ignore interrupts during D3cold (Lukas Wunner)
Power management:
- Enforce type casting for pci_power_t (Andy Shevchenko)
- Don't clear d3cold_allowed for PCIe ports (Mika Westerberg)
- Put PCIe ports into D3 during suspend (Mika Westerberg)
- Power on bridges before scanning new devices (Mika Westerberg)
- Runtime resume bridge before rescan (Mika Westerberg)
- Add runtime PM support for PCIe ports (Mika Westerberg)
- Remove redundant check of pcie_set_clkpm (Shawn Lin)
Virtualization:
- Add function 1 DMA alias quirk for Marvell 88SE9182 (Aaron Sierra)
- Add DMA alias quirk for Adaptec 3805 (Alex Williamson)
- Mark Atheros AR9485 and QCA9882 to avoid bus reset (Chris Blake)
- Add ACS quirk for Solarflare SFC9220 (Edward Cree)
MSI:
- Fix PCI_MSI dependencies (Arnd Bergmann)
- Add pci_msix_desc_addr() helper (Christoph Hellwig)
- Switch msix_program_entries() to use pci_msix_desc_addr() (Christoph Hellwig)
- Make the "entries" argument to pci_enable_msix() optional (Christoph Hellwig)
- Provide sensible IRQ vector alloc/free routines (Christoph Hellwig)
- Spread interrupt vectors in pci_alloc_irq_vectors() (Christoph Hellwig)
Error Handling:
- Bind DPC to Root Ports as well as Downstream Ports (Keith Busch)
- Remove DPC tristate module option (Keith Busch)
- Convert Downstream Port Containment driver to use devm_* functions (Mika Westerberg)
Generic host bridge driver:
- Select IRQ_DOMAIN (Arnd Bergmann)
- Claim bus resources on PCI_PROBE_ONLY set-ups (Lorenzo Pieralisi)
ACPI host bridge driver:
- Add ARM64 acpi_pci_bus_find_domain_nr() (Tomasz Nowicki)
- Add ARM64 ACPI support for legacy IRQs parsing and consolidation with DT code (Tomasz Nowicki)
- Implement ARM64 AML accessors for PCI_Config region (Tomasz Nowicki)
- Support ARM64 ACPI-based PCI host controller (Tomasz Nowicki)
Altera host bridge driver:
- Check link status before retrain link (Ley Foon Tan)
- Poll for link up status after retraining the link (Ley Foon Tan)
Axis ARTPEC-6 host bridge driver:
- Add PCI_MSI_IRQ_DOMAIN dependency (Arnd Bergmann)
- Add DT binding for Axis ARTPEC-6 PCIe controller (Niklas Cassel)
- Add Axis ARTPEC-6 PCIe controller driver (Niklas Cassel)
Intel VMD host bridge driver:
- Use lock save/restore in interrupt enable path (Jon Derrick)
- Select device dma ops to override (Keith Busch)
- Initialize list item in IRQ disable (Keith Busch)
- Use x86_vector_domain as parent domain (Keith Busch)
- Separate MSI and MSI-X vector sharing (Keith Busch)
Marvell Aardvark host bridge driver:
- Add DT binding for the Aardvark PCIe controller (Thomas Petazzoni)
- Add Aardvark PCI host controller driver (Thomas Petazzoni)
- Add Aardvark PCIe support for Armada 3700 (Thomas Petazzoni)
Microsoft Hyper-V host bridge driver:
- Fix interrupt cleanup path (Cathy Avery)
- Don't leak buffer in hv_pci_onchannelcallback() (Vitaly Kuznetsov)
- Handle all pending messages in hv_pci_onchannelcallback() (Vitaly Kuznetsov)
NVIDIA Tegra host bridge driver:
- Program PADS_REFCLK_CFG* always, not just on legacy SoCs (Stephen Warren)
- Program PADS_REFCLK_CFG* registers with per-SoC values (Stephen Warren)
- Use lower-case hex consistently for register definitions (Thierry Reding)
- Use generic pci_remap_iospace() rather than ARM32-specific one (Thierry Reding)
- Stop setting pcibios_min_mem (Thierry Reding)
Renesas R-Car host bridge driver:
- Drop gen2 dummy I/O port region (Bjorn Helgaas)
TI DRA7xx host bridge driver:
- Fix return value in case of error (Christophe JAILLET)
Xilinx AXI host bridge driver:
- Fix return value in case of error (Christophe JAILLET)
Miscellaneous:
- Make bus_attr_resource_alignment static (Ben Dooks)
- Include <asm/dma.h> for isa_dma_bridge_buggy (Ben Dooks)
- MAINTAINERS: Add file patterns for PCI device tree bindings (Geert Uytterhoeven)
- Make host bridge drivers explicitly non-modular (Paul Gortmaker)"
* tag 'pci-v4.8-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (125 commits)
PCI: xgene: Make explicitly non-modular
PCI: thunder-pem: Make explicitly non-modular
PCI: thunder-ecam: Make explicitly non-modular
PCI: tegra: Make explicitly non-modular
PCI: rcar-gen2: Make explicitly non-modular
PCI: rcar: Make explicitly non-modular
PCI: mvebu: Make explicitly non-modular
PCI: layerscape: Make explicitly non-modular
PCI: keystone: Make explicitly non-modular
PCI: hisi: Make explicitly non-modular
PCI: generic: Make explicitly non-modular
PCI: designware-plat: Make it explicitly non-modular
PCI: artpec6: Make explicitly non-modular
PCI: armada8k: Make explicitly non-modular
PCI: artpec: Add PCI_MSI_IRQ_DOMAIN dependency
PCI: Add ACS quirk for Solarflare SFC9220
arm64: dts: marvell: Add Aardvark PCIe support for Armada 3700
PCI: aardvark: Add Aardvark PCI host controller driver
dt-bindings: add DT binding for the Aardvark PCIe controller
PCI: tegra: Program PADS_REFCLK_CFG* registers with per-SoC values
...
2016-08-02 17:12:29 -04:00
..
2016-01-20 17:09:18 -08:00
2016-01-20 17:09:18 -08:00
2016-07-05 23:49:51 +10:00
2016-07-09 03:26:53 -05:00
2016-05-01 18:32:32 +10:00
2015-04-11 20:49:28 +10:00
2016-06-14 13:58:26 +10:00
2016-03-04 23:44:51 -06:00
2016-07-17 16:42:44 +10:00
2016-07-17 16:42:52 +10:00
2014-11-10 09:59:26 +11:00
2016-07-14 20:26:22 +10:00
2015-03-20 14:51:53 +11:00
2015-07-13 10:10:55 +10:00
2015-07-13 10:10:55 +10:00
2015-10-28 14:20:50 +09:00
2016-07-08 22:09:50 +10:00
2016-06-21 15:30:56 +10:00
2016-07-15 14:57:47 +10:00
2016-04-12 21:05:18 +10:00
2016-04-27 09:19:37 +10:00
2014-11-27 09:32:58 +11:00
2016-05-12 19:52:21 +10:00
2016-07-09 01:43:50 -05:00
2016-07-09 01:43:50 -05:00
2013-03-13 14:19:36 -05:00
2014-06-10 18:54:22 -07:00
2016-07-09 01:43:50 -05:00
2016-08-02 16:11:27 -04:00
2016-07-05 23:49:46 +10:00
2016-03-02 23:34:49 +11:00
2015-08-07 23:00:01 -05:00
2016-07-21 20:10:37 +10:00
2016-07-09 02:02:48 -05:00
2014-06-11 16:31:21 +10:00
2016-03-01 19:27:20 +11:00
2016-07-21 19:14:29 +10:00
2013-05-02 10:31:01 +10:00
2016-03-04 23:44:51 -06:00
2016-06-20 14:11:25 +10:00
2016-03-03 22:06:08 +11:00
2016-04-12 21:05:18 +10:00
2014-04-23 10:05:16 +10:00
2016-08-02 16:11:27 -04:00
2015-06-02 21:37:19 -05:00
2014-04-23 10:05:16 +10:00
2013-07-01 11:10:35 +10:00
2015-10-12 15:30:09 +11:00
2013-08-14 14:58:08 +10:00
2016-05-31 16:41:52 +08:00
2015-06-11 15:16:49 +10:00
2016-07-17 16:42:44 +10:00
2016-05-01 18:32:32 +10:00
2015-08-03 11:34:12 +02:00
2016-02-18 00:03:26 +11:00
2016-06-21 15:30:49 +10:00
2015-08-06 15:10:20 +10:00
2014-09-25 23:14:46 +10:00
2016-07-21 18:59:09 +10:00
2016-05-11 21:54:04 +10:00
2016-08-02 16:11:27 -04:00
2016-05-11 21:53:59 +10:00
2016-05-20 10:12:41 -07:00
2016-06-14 13:58:26 +10:00
2016-07-21 18:59:09 +10:00
2014-10-15 11:23:20 +11:00
2016-03-07 14:53:53 +11:00
2016-07-21 20:10:42 +10:00
2016-03-07 14:53:53 +11:00
2015-06-02 11:47:45 +10:00
2016-06-02 10:59:31 -07:00
2015-03-24 13:15:52 +11:00
2016-03-07 14:53:52 +11:00
2014-11-19 21:41:51 +11:00
2016-07-15 14:57:47 +10:00
2016-07-07 16:33:27 +10:00
2015-11-24 17:45:18 -06:00
2016-08-02 17:12:29 -04:00
2016-05-11 21:54:26 +10:00
2013-02-03 18:16:10 -05:00
2016-03-11 17:20:11 -06:00
2016-03-11 17:20:12 -06:00
2013-06-29 12:57:50 +04:00
2016-07-15 14:57:47 +10:00
2014-09-25 23:14:46 +10:00
2016-06-08 10:40:05 +10:00
2013-08-14 15:33:26 +10:00
2016-07-21 18:56:38 +10:00
2013-10-18 18:44:49 -05:00
2016-07-29 17:38:46 -07:00
2013-07-01 11:10:34 +10:00
2014-03-07 13:50:19 +11:00
2014-07-28 11:30:54 +10:00
2015-04-11 20:49:09 +10:00
2016-06-14 13:58:26 +10:00
2016-07-14 21:12:06 +10:00
2016-07-08 19:22:15 +10:00
2016-07-21 19:17:46 +10:00
2016-07-21 19:17:46 +10:00
2016-07-21 19:17:46 +10:00
2016-07-21 19:17:46 +10:00
2015-12-14 20:40:32 +11:00
2016-06-14 13:58:25 +10:00
2016-03-01 19:27:20 +11:00
2016-03-01 19:27:20 +11:00
2014-01-15 13:46:44 +11:00
2016-06-21 15:30:51 +10:00
2016-01-11 14:27:28 +11:00
2014-10-09 22:26:04 -04:00
2013-10-31 12:37:29 +11:00
2014-01-07 19:06:03 -06:00
2016-05-01 18:33:04 +10:00
2013-05-09 13:46:38 -04:00
2015-03-28 22:03:40 +11:00
2016-06-16 22:23:11 +10:00
2015-11-26 22:11:17 +11:00
2015-11-26 22:11:17 +11:00
2015-03-28 22:03:40 +11:00
2016-07-09 01:43:50 -05:00
2016-07-15 15:00:18 +10:00
2015-08-06 16:36:23 +10:00
2016-08-02 16:11:27 -04:00
2014-11-12 13:47:20 +11:00
2015-04-07 17:15:13 +10:00
2013-11-20 16:31:01 +01:00
2016-05-23 17:04:14 -07:00
2013-10-11 17:26:49 +11:00
2016-07-26 14:16:19 +10:00
2016-04-12 21:05:18 +10:00
2016-07-19 20:17:07 +10:00