Linus Torvalds
3c87b79188
Merge tag 'pci-v4.4-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci
Pull PCI updates from Bjorn Helgaas:
"Resource management:
- Add support for Enhanced Allocation devices (Sean O. Stalley)
- Add Enhanced Allocation register entries (Sean O. Stalley)
- Handle IORESOURCE_PCI_FIXED when sizing resources (David Daney)
- Handle IORESOURCE_PCI_FIXED when assigning resources (David Daney)
- Handle Enhanced Allocation capability for SR-IOV devices (David Daney)
- Clear IORESOURCE_UNSET when reverting to firmware-assigned address (Bjorn Helgaas)
- Make Enhanced Allocation bitmasks more obvious (Bjorn Helgaas)
- Expand Enhanced Allocation BAR output (Bjorn Helgaas)
- Add of_pci_check_probe_only to parse "linux,pci-probe-only" (Marc Zyngier)
- Fix lookup of linux,pci-probe-only property (Marc Zyngier)
- Add sparc mem64 resource parsing for root bus (Yinghai Lu)
PCI device hotplug:
- pciehp: Queue power work requests in dedicated function (Guenter Roeck)
Driver binding:
- Add builtin_pci_driver() to avoid registration boilerplate (Paul Gortmaker)
Virtualization:
- Set SR-IOV NumVFs to zero after enumeration (Alexander Duyck)
- Remove redundant validation of SR-IOV offset/stride registers (Alexander Duyck)
- Remove VFs in reverse order if virtfn_add() fails (Alexander Duyck)
- Reorder pcibios_sriov_disable() (Alexander Duyck)
- Wait 1 second between disabling VFs and clearing NumVFs (Alexander Duyck)
- Fix sriov_enable() error path for pcibios_enable_sriov() failures (Alexander Duyck)
- Enable SR-IOV ARI Capable Hierarchy before reading TotalVFs (Ben Shelton)
- Don't try to restore VF BARs (Wei Yang)
MSI:
- Don't alloc pcibios-irq when MSI is enabled (Joerg Roedel)
- Add msi_controller setup_irqs() method for special multivector setup (Lucas Stach)
- Export all remapped MSIs to sysfs attributes (Romain Bezut)
- Disable MSI on SiS 761 (Ondrej Zary)
AER:
- Clear error status registers during enumeration and restore (Taku Izumi)
Generic host bridge driver:
- Fix lookup of linux,pci-probe-only property (Marc Zyngier)
- Allow multiple hosts with different map_bus() methods (David Daney)
- Pass starting bus number to pci_scan_root_bus() (David Daney)
- Fix address window calculation for non-zero starting bus (David Daney)
Altera host bridge driver:
- Add msi.h to ARM Kbuild (Ley Foon Tan)
- Add Altera PCIe host controller driver (Ley Foon Tan)
- Add Altera PCIe MSI driver (Ley Foon Tan)
APM X-Gene host bridge driver:
- Remove msi_controller assignment (Duc Dang)
Broadcom iProc host bridge driver:
- Fix header comment "Corporation" misspelling (Florian Fainelli)
- Fix code comment to match code (Ray Jui)
- Remove unused struct iproc_pcie.irqs[] (Ray Jui)
- Call pci_fixup_irqs() for ARM64 as well as ARM (Ray Jui)
- Fix PCIe reset logic (Ray Jui)
- Improve link detection logic (Ray Jui)
- Update PCIe device tree bindings (Ray Jui)
- Add outbound mapping support (Ray Jui)
Freescale i.MX6 host bridge driver:
- Return real error code from imx6_add_pcie_port() (Fabio Estevam)
- Add PCIE_PHY_RX_ASIC_OUT_VALID definition (Fabio Estevam)
Freescale Layerscape host bridge driver:
- Remove ls_pcie_establish_link() (Minghuan Lian)
- Ignore PCIe controllers in Endpoint mode (Minghuan Lian)
- Factor out SCFG related function (Minghuan Lian)
- Update ls_add_pcie_port() (Minghuan Lian)
- Remove unused fields from struct ls_pcie (Minghuan Lian)
- Add support for LS1043a and LS2080a (Minghuan Lian)
- Add ls_pcie_msi_host_init() (Minghuan Lian)
HiSilicon host bridge driver:
- Add HiSilicon SoC Hip05 PCIe driver (Zhou Wang)
Marvell MVEBU host bridge driver:
- Return zero for reserved or unimplemented config space (Russell King)
- Use exact config access size; don't read/modify/write (Russell King)
- Use of_get_available_child_count() (Russell King)
- Use for_each_available_child_of_node() to walk child nodes (Russell King)
- Report full node name when reporting a DT error (Russell King)
- Use port->name rather than "PCIe%d.%d" (Russell King)
- Move port parsing and resource claiming to separate function (Russell King)
- Fix memory leaks and refcount leaks (Russell King)
- Split port parsing and resource claiming from port setup (Russell King)
- Use gpio_set_value_cansleep() (Russell King)
- Use devm_kcalloc() to allocate an array (Russell King)
- Use gpio_desc to carry around gpio (Russell King)
- Improve clock/reset handling (Russell King)
- Add PCI Express root complex capability block (Russell King)
- Remove code restricting accesses to slot 0 (Russell King)
NVIDIA Tegra host bridge driver:
- Wrap static pgprot_t initializer with __pgprot() (Ard Biesheuvel)
Renesas R-Car host bridge driver:
- Build pci-rcar-gen2.c only on ARM (Geert Uytterhoeven)
- Build pcie-rcar.c only on ARM (Geert Uytterhoeven)
- Make PCI aware of the I/O resources (Phil Edworthy)
- Remove dependency on ARM-specific struct hw_pci (Phil Edworthy)
- Set root bus nr to that provided in DT (Phil Edworthy)
- Fix I/O offset for multiple host bridges (Phil Edworthy)
ST Microelectronics SPEAr13xx host bridge driver:
- Fix dw_pcie_cfg_read/write() usage (Gabriele Paoloni)
Synopsys DesignWare host bridge driver:
- Make "clocks" and "clock-names" optional DT properties (Bhupesh Sharma)
- Use exact access size in dw_pcie_cfg_read() (Gabriele Paoloni)
- Simplify dw_pcie_cfg_read/write() interfaces (Gabriele Paoloni)
- Require config accesses to be naturally aligned (Gabriele Paoloni)
- Make "num-lanes" an optional DT property (Gabriele Paoloni)
- Move calculation of bus addresses to DRA7xx (Gabriele Paoloni)
- Replace ARM pci_sys_data->align_resource with global function pointer (Gabriele Paoloni)
- Factor out MSI msg setup (Lucas Stach)
- Implement multivector MSI IRQ setup (Lucas Stach)
- Make get_msi_addr() return phys_addr_t, not u32 (Lucas Stach)
- Set up high part of MSI target address (Lucas Stach)
- Fix PORT_LOGIC_LINK_WIDTH_MASK (Zhou Wang)
- Revert "PCI: designware: Program ATU with untranslated address" (Zhou Wang)
- Use of_pci_get_host_bridge_resources() to parse DT (Zhou Wang)
- Make driver arch-agnostic (Zhou Wang)
Miscellaneous:
- Make x86 pci_subsys_init() static (Alexander Kuleshov)
- Turn off Request Attributes to avoid Chelsio T5 Completion erratum (Hariprasad Shenai)"
* tag 'pci-v4.4-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (94 commits)
PCI: altera: Add Altera PCIe MSI driver
PCI: hisi: Add HiSilicon SoC Hip05 PCIe driver
PCI: layerscape: Add ls_pcie_msi_host_init()
PCI: layerscape: Add support for LS1043a and LS2080a
PCI: layerscape: Remove unused fields from struct ls_pcie
PCI: layerscape: Update ls_add_pcie_port()
PCI: layerscape: Factor out SCFG related function
PCI: layerscape: Ignore PCIe controllers in Endpoint mode
PCI: layerscape: Remove ls_pcie_establish_link()
PCI: designware: Make "clocks" and "clock-names" optional DT properties
PCI: designware: Make driver arch-agnostic
ARM/PCI: Replace pci_sys_data->align_resource with global function pointer
PCI: designware: Use of_pci_get_host_bridge_resources() to parse DT
Revert "PCI: designware: Program ATU with untranslated address"
PCI: designware: Move calculation of bus addresses to DRA7xx
PCI: designware: Make "num-lanes" an optional DT property
PCI: designware: Require config accesses to be naturally aligned
PCI: designware: Simplify dw_pcie_cfg_read/write() interfaces
PCI: designware: Use exact access size in dw_pcie_cfg_read()
PCI: spear: Fix dw_pcie_cfg_read/write() usage
...
2015-11-06 11:29:53 -08:00
..
2015-10-13 17:42:34 +02:00
2015-06-09 17:47:38 -03:00
2015-06-23 02:40:03 +02:00
2015-09-23 20:23:25 +01:00
2015-10-26 16:00:00 +01:00
2015-10-05 17:32:14 +02:00
2015-06-23 14:08:54 -07:00
2015-08-26 20:32:35 +02:00
2015-04-21 16:16:02 -04:00
2015-11-01 13:48:26 +11:00
2015-03-20 19:10:44 -04:00
2015-11-04 21:26:27 -08:00
2015-04-02 18:10:35 -03:00
2015-10-05 03:16:46 -07:00
2015-09-08 13:34:59 -07:00
2015-11-02 22:48:39 -05:00
2015-02-02 19:25:51 -08:00
2015-05-06 08:03:19 +02:00
2015-06-22 15:49:27 +08:00
2015-06-23 07:00:41 -07:00
2015-08-25 14:41:50 -05:00
2015-10-31 19:05:59 -04:00
2015-09-10 06:54:15 +02:00
2015-07-17 19:59:04 -07:00
2015-03-25 15:07:05 +11:00
2015-07-21 10:39:06 -07:00
2015-04-16 14:08:49 -04:00
2015-04-12 21:25:13 -04:00
2015-02-05 02:45:00 -05:00
2015-07-01 16:26:08 +02:00
2015-07-23 17:48:43 -07:00
2015-05-24 12:17:42 -07:00
2015-06-01 08:07:08 +09:00
2015-03-23 22:12:09 -04:00
2015-09-23 08:44:22 +02:00
2015-09-29 13:36:06 -07:00
2015-09-09 22:06:29 -07:00
2015-10-30 12:10:51 +09:00
2015-08-17 14:22:48 -07:00
2015-06-01 15:48:56 +02:00
2015-08-10 14:03:54 -07:00
2015-08-17 21:33:06 -07:00
2014-12-22 16:12:36 -05:00
2015-06-29 18:56:21 -07:00
2015-06-24 02:51:39 -07:00
2015-04-14 18:25:15 -07:00
2015-08-21 09:10:11 -07:00
2015-06-24 02:15:54 -07:00
2015-05-25 13:25:35 -04:00
2015-08-13 21:27:19 -07:00
2015-10-18 22:40:04 -07:00
2015-09-10 13:29:01 -07:00
2015-02-17 14:34:51 -08:00
2015-06-03 11:32:07 +03:00
2015-10-01 15:06:31 +02:00
2014-12-31 14:17:20 -05:00
2015-06-29 18:56:21 -07:00
2015-10-29 16:21:42 +09:00
2015-09-23 11:01:16 -06:00
2015-09-24 14:31:37 -07:00
2015-11-02 22:48:39 -05:00
2015-04-21 09:44:55 -03:00
2015-02-26 08:40:10 -03:00
2015-08-03 17:30:00 -07:00
2015-09-11 15:21:34 -07:00
2015-02-12 18:54:08 -08:00
2015-10-04 12:54:54 +01:00
2015-07-21 10:39:05 -07:00
2015-08-03 22:35:00 -07:00
2015-01-20 13:51:06 +01:00
2014-12-13 12:42:52 -08:00
2015-05-05 13:40:44 -06:00
2015-07-27 22:53:19 -04:00
2015-08-10 13:46:21 -07:00
2015-01-19 14:21:18 -05:00
2015-02-02 18:46:51 -08:00
2015-07-08 23:34:53 -07:00
2015-06-18 21:14:31 +02:00
2015-09-29 21:33:54 -07:00
2015-10-27 03:55:10 +01:00
2015-08-27 19:44:53 -04:00
2015-04-23 15:16:14 -04:00
2015-07-20 14:58:46 -04:00
2015-10-13 10:35:26 +02:00
2015-10-09 10:40:37 -06:00
2015-10-24 06:54:12 -07:00
2015-10-29 17:35:40 -05:00
2015-11-04 09:41:05 -08:00
2015-09-17 21:09:07 -07:00
2015-05-12 18:22:49 -04:00
2015-10-21 14:46:56 -06:00
2015-09-04 16:54:41 -07:00
2015-10-27 19:55:13 -07:00
2015-03-18 21:55:08 +01:00
2015-05-31 21:47:23 -07:00
2015-10-20 06:08:27 -07:00
2015-10-04 12:54:54 +01:00
2015-10-12 14:20:06 +01:00
2015-09-04 16:54:41 -07:00
2014-12-13 12:42:52 -08:00
2015-06-10 17:34:26 -07:00
2015-05-20 09:01:20 -07:00
2015-03-07 03:39:55 +01:00
2015-07-21 22:36:33 -07:00
2015-06-15 19:49:22 -07:00
2015-10-04 20:28:58 +01:00
2014-12-10 17:41:10 -08:00
2015-09-11 00:32:36 -07:00
2015-05-21 23:25:21 -04:00
2015-02-09 13:20:47 -08:00
2015-03-05 22:08:42 -05:00
2015-07-24 14:15:10 -07:00
2015-05-24 12:49:16 -07:00
2015-06-11 23:37:37 +02:00
2015-01-11 16:27:25 -08:00
2015-01-31 09:05:06 -08:00
2015-10-01 21:42:35 -04:00
2015-10-20 15:37:56 -02:00
2015-04-08 06:36:52 -03:00
2015-06-05 11:45:45 -03:00
2015-03-23 11:44:35 -07:00
2015-06-11 15:16:55 +10:00
2015-06-01 15:48:55 +02:00
2015-10-20 15:42:47 -02:00
2015-06-01 15:46:54 +02:00
2015-03-10 11:48:29 +10:30
2015-02-11 15:03:16 +10:30
2015-06-05 12:31:12 +10:00
2015-06-03 14:17:38 +02:00
2015-03-29 12:13:52 +10:30
2015-07-01 10:11:17 +02:00
2015-07-07 14:27:05 +03:00
2015-07-07 14:27:04 +03:00
2015-03-13 15:55:43 +10:30
2015-07-06 08:25:50 -03:00
2015-03-31 13:58:35 -04:00
2015-04-03 01:04:18 -03:00