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-07-30 21:01:36 -07:00
2016-07-30 21:01:36 -07:00
2016-07-09 01:43:50 -05:00
2015-07-23 19:52:03 +10:00
2016-06-24 15:17:57 +10:00
2016-06-16 22:39:54 +10:00
2016-06-16 10:48:28 +02:00
2016-01-12 20:46:53 +02:00
2014-11-12 16:31:46 +11:00
2012-10-09 09:47:26 +01:00
2013-08-14 14:57:40 +10:00
2014-09-25 23:14:43 +10:00
2016-03-11 17:20:11 -06:00
2016-03-11 17:20:12 -06:00
2016-03-09 10:44:18 -06:00
2016-02-24 20:08:48 +11:00
2016-06-14 13:58:27 +10:00
2015-07-29 11:56:13 +10:00
2014-04-23 10:05:16 +10:00
2014-10-08 20:15:37 +11:00
2014-06-11 17:03:28 +10:00
2015-12-22 17:12:56 -06:00
2016-07-21 20:33:57 +10:00
2016-07-15 20:18:41 +10:00
2016-03-04 23:44:51 -06:00
2016-03-04 23:58:38 -06:00
2016-07-09 01:43:50 -05:00
2015-03-23 14:29:40 +11:00
2013-01-10 15:09:06 +11:00
2014-05-23 08:28:02 +09:00
2015-03-31 14:19:47 +11:00
2014-05-20 10:54:06 +10:00
2015-07-13 10:10:54 +10:00
2015-10-15 15:58:16 +11:00
2016-01-20 17:09:18 -08:00
2013-04-18 13:03:53 +10:00
2015-05-28 15:31:53 +02:00
2014-06-11 17:04:33 +10:00
2016-06-21 15:30:56 +10:00
2012-02-14 14:06:50 -07:00
2015-04-14 16:49:05 -07:00
2014-04-09 12:53:28 +10:00
2014-01-09 10:14:57 +01:00
2015-10-27 18:14:40 -05:00
2016-07-30 13:43:19 +10:00
2012-03-28 18:30:02 +01:00
2016-01-20 17:09:18 -08:00
2016-07-21 18:51:42 +10:00
2016-07-21 18:56:13 +10:00
2016-07-09 02:02:48 -05:00
2011-11-08 14:51:46 +11:00
2014-06-25 18:49:40 -05:00
2012-11-15 13:00:58 +11:00
2012-10-05 23:38:38 +02:00
2015-01-12 05:04:13 -08:00
2015-02-03 18:47:18 +01:00
2016-03-04 23:50:27 -06:00
2016-06-14 13:58:27 +10:00
2011-11-17 16:26:07 +11:00
2014-11-03 12:12:32 +11:00
2015-11-09 15:11:24 -08:00
2016-06-20 14:11:25 +10:00
2016-05-11 21:53:55 +10:00
2016-07-21 18:56:31 +10:00
2013-10-11 16:48:53 +11:00
2014-05-20 10:54:06 +10:00
2016-07-17 16:42:44 +10:00
2016-03-01 19:27:20 +11:00
2012-02-14 14:06:50 -07:00
2013-06-12 12:37:26 +01:00
2015-12-17 16:42:12 +08:00
2013-01-03 15:57:04 -08:00
2016-03-01 19:27:20 +11:00
2016-07-21 18:55:54 +10:00
2015-02-23 14:52:04 +11:00
2014-09-25 23:14:43 +10:00
2014-07-28 14:11:23 +10:00
2015-08-03 11:34:15 +02:00
2015-10-06 14:52:48 -04:00
2011-12-20 10:20:19 -05:00
2014-12-29 15:44:53 +11:00
2012-02-21 11:40:36 +01:00
2012-07-24 15:27:29 +08:00
2016-06-14 13:58:27 +10:00
2014-09-22 10:11:34 +02:00
2013-10-17 14:45:05 +02:00
2016-05-01 18:32:43 +10:00
2016-07-15 20:18:41 +10:00
2016-01-15 17:56:32 -08:00
2014-03-19 19:57:15 -05:00
2015-08-22 11:16:19 +02:00
2016-05-13 17:29:23 +02:00
2014-01-09 10:14:57 +01:00
2016-03-02 09:56:50 +11:00
2016-06-14 13:58:27 +10:00
2016-04-14 15:47:06 +10:00
2013-12-09 11:40:25 +11:00
2012-04-24 15:34:16 -07:00
2016-07-21 19:07:26 +10:00
2014-03-07 15:52:10 +11:00
2015-06-24 17:49:41 -07:00
2016-02-18 19:46:30 +01:00
2016-05-01 18:33:05 +10:00
2016-07-09 02:02:48 -05:00
2014-07-28 15:23:13 +02:00
2016-07-17 16:42:52 +10:00
2016-03-11 11:20:15 +11:00
2015-10-22 16:06:08 +02:00
2016-07-14 21:12:06 +10:00
2015-03-31 22:23:17 -05:00
2015-10-22 15:19:40 +02:00
2012-08-24 20:26:04 +10:00
2013-07-01 18:38:41 -05:00
2015-03-23 19:51:17 -05:00
2015-10-05 21:32:50 +11:00
2016-06-08 15:17:01 +02:00
2015-04-11 20:49:27 +10:00
2015-03-23 14:05:49 +11:00
2016-07-17 16:42:46 +10:00
2016-07-21 18:56:31 +10:00
2014-07-28 14:10:25 +10:00
2016-08-02 16:11:27 -04:00
2016-03-11 17:20:11 -06:00
2016-05-11 21:54:00 +10:00
2016-07-19 20:17:07 +10:00
2013-04-18 13:03:50 +10:00
2016-06-21 15:30:52 +10:00
2016-06-17 14:43:34 -05:00
2013-08-07 18:38:03 -05:00
2016-03-10 22:56:05 +11:00
2014-10-15 11:23:20 +11:00
2016-05-11 21:53:49 +10:00
2016-07-17 16:42:51 +10:00
2016-05-01 18:32:16 +10:00
2016-07-26 16:19:19 -07:00
2015-12-14 15:19:17 +11:00
2016-06-14 13:58:26 +10:00
2016-07-14 20:28:08 +10:00
2013-01-10 15:08:37 +11:00
2016-07-14 21:12:06 +10:00
2016-07-30 21:01:36 -07:00
2016-07-30 21:01:36 -07:00
2016-06-21 15:30:56 +10:00
2013-06-20 16:55:09 +10:00
2016-07-15 20:18:41 +10:00
2014-09-25 23:14:43 +10:00
2016-07-21 18:56:38 +10:00
2016-06-14 13:58:26 +10:00
2016-06-14 13:58:26 +10:00
2016-06-14 13:58:27 +10:00
2016-03-16 15:22:40 +11:00
2014-06-11 16:35:38 +10:00
2016-03-01 19:27:20 +11:00
2013-08-07 18:38:04 -05:00
2016-07-30 13:43:19 +10:00
2014-09-25 23:14:43 +10:00
2016-07-21 19:17:46 +10:00
2012-03-28 18:30:02 +01:00
2013-11-06 14:13:49 +11:00
2015-04-17 09:04:10 -04:00
2016-06-14 13:58:27 +10:00
2016-07-21 18:56:31 +10:00
2013-10-11 17:26:49 +11:00
2013-06-01 08:29:23 +10:00
2016-07-21 19:17:46 +10:00
2016-07-21 18:56:38 +10:00
2012-09-17 16:31:51 +10:00
2016-06-14 16:05:44 +10:00
2015-08-18 19:29:49 +10:00
2012-10-09 09:47:26 +01:00
2014-10-08 20:14:54 +11:00
2014-09-25 23:14:51 +10:00
2016-06-14 13:58:25 +10:00
2015-03-24 13:33:52 +11:00
2012-09-12 14:57:09 -05:00
2016-03-02 23:34:50 +11:00
2016-07-21 18:51:42 +10:00
2015-07-29 11:56:13 +10:00
2013-02-03 18:16:11 -05:00
2016-04-27 16:47:55 +10:00
2016-07-17 16:42:47 +10:00
2012-10-09 09:47:26 +01:00
2016-07-09 01:43:50 -05:00
2016-07-05 23:58:53 +10:00
2013-11-22 16:56:48 -06:00
2014-11-17 10:12:42 +00:00
2016-05-01 18:33:09 +10:00
2014-03-29 15:44:05 +01:00
2015-05-27 15:22:15 +02:00
2015-08-06 16:36:23 +10:00
2016-02-15 21:10:03 +11:00
2015-09-16 15:47:51 +02:00
2016-06-14 13:58:26 +10:00
2016-06-14 13:58:27 +10:00
2016-01-04 10:28:12 -05:00
2014-09-25 23:14:43 +10:00
2013-12-30 14:02:29 +11:00
2016-03-01 19:27:20 +11:00
2016-04-27 16:47:55 +10:00
2013-11-20 16:31:01 +01:00
2015-11-26 22:11:17 +11:00
2014-02-17 11:19:37 +11:00
2015-03-23 14:29:40 +11:00
2015-05-05 13:35:39 -06:00
2016-05-02 11:10:25 +10:00
2016-07-17 16:42:45 +10:00
2013-10-30 16:02:28 +11:00