Linus Torvalds
63e30271b0
Merge tag 'pci-v4.6-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci
Pull PCI updates from Bjorn Helgaas:
"PCI changes for v4.6:
Enumeration:
- Disable IO/MEM decoding for devices with non-compliant BARs (Bjorn Helgaas)
- Mark Broadwell-EP Home Agent & PCU as having non-compliant BARs (Bjorn Helgaas
Resource management:
- Mark shadow copy of VGA ROM as IORESOURCE_PCI_FIXED (Bjorn Helgaas)
- Don't assign or reassign immutable resources (Bjorn Helgaas)
- Don't enable/disable ROM BAR if we're using a RAM shadow copy (Bjorn Helgaas)
- Set ROM shadow location in arch code, not in PCI core (Bjorn Helgaas)
- Remove arch-specific IORESOURCE_ROM_SHADOW size from sysfs (Bjorn Helgaas)
- ia64: Use ioremap() instead of open-coded equivalent (Bjorn Helgaas)
- ia64: Keep CPU physical (not virtual) addresses in shadow ROM resource (Bjorn Helgaas)
- MIPS: Keep CPU physical (not virtual) addresses in shadow ROM resource (Bjorn Helgaas)
- Remove unused IORESOURCE_ROM_COPY and IORESOURCE_ROM_BIOS_COPY (Bjorn Helgaas)
- Don't leak memory if sysfs_create_bin_file() fails (Bjorn Helgaas)
- rcar: Remove PCI_PROBE_ONLY handling (Lorenzo Pieralisi)
- designware: Remove PCI_PROBE_ONLY handling (Lorenzo Pieralisi)
Virtualization:
- Wait for up to 1000ms after FLR reset (Alex Williamson)
- Support SR-IOV on any function type (Kelly Zytaruk)
- Add ACS quirk for all Cavium devices (Manish Jaggi)
AER:
- Rename pci_ops_aer to aer_inj_pci_ops (Bjorn Helgaas)
- Restore pci_ops pointer while calling original pci_ops (David Daney)
- Fix aer_inject error codes (Jean Delvare)
- Use dev_warn() in aer_inject (Jean Delvare)
- Log actual error causes in aer_inject (Jean Delvare)
- Log aer_inject error injections (Jean Delvare)
VPD:
- Prevent VPD access for buggy devices (Babu Moger)
- Move pci_read_vpd() and pci_write_vpd() close to other VPD code (Bjorn Helgaas)
- Move pci_vpd_release() from header file to pci/access.c (Bjorn Helgaas)
- Remove struct pci_vpd_ops.release function pointer (Bjorn Helgaas)
- Rename VPD symbols to remove unnecessary "pci22" (Bjorn Helgaas)
- Fold struct pci_vpd_pci22 into struct pci_vpd (Bjorn Helgaas)
- Sleep rather than busy-wait for VPD access completion (Bjorn Helgaas)
- Update VPD definitions (Hannes Reinecke)
- Allow access to VPD attributes with size 0 (Hannes Reinecke)
- Determine actual VPD size on first access (Hannes Reinecke)
Generic host bridge driver:
- Move structure definitions to separate header file (David Daney)
- Add pci_host_common_probe(), based on gen_pci_probe() (David Daney)
- Expose pci_host_common_probe() for use by other drivers (David Daney)
Altera host bridge driver:
- Fix altera_pcie_link_is_up() (Ley Foon Tan)
Cavium ThunderX host bridge driver:
- Add PCIe host driver for ThunderX processors (David Daney)
- Add driver for ThunderX-pass{1,2} on-chip devices (David Daney)
Freescale i.MX6 host bridge driver:
- Add DT bindings to configure PHY Tx driver settings (Justin Waters)
- Move imx6_pcie_reset_phy() near other PHY handling functions (Lucas Stach)
- Move PHY reset into imx6_pcie_establish_link() (Lucas Stach)
- Remove broken Gen2 workaround (Lucas Stach)
- Move link up check into imx6_pcie_wait_for_link() (Lucas Stach)
Freescale Layerscape host bridge driver:
- Add "fsl,ls2085a-pcie" compatible ID (Yang Shi)
Intel VMD host bridge driver:
- Attach VMD resources to parent domain's resource tree (Jon Derrick)
- Set bus resource start to 0 (Keith Busch)
Microsoft Hyper-V host bridge driver:
- Add fwnode_handle to x86 pci_sysdata (Jake Oshins)
- Look up IRQ domain by fwnode_handle (Jake Oshins)
- Add paravirtual PCI front-end for Microsoft Hyper-V VMs (Jake Oshins)
NVIDIA Tegra host bridge driver:
- Add pci_ops.{add,remove}_bus() callbacks (Thierry Reding)
- Implement ->{add,remove}_bus() callbacks (Thierry Reding)
- Remove unused struct tegra_pcie.num_ports field (Thierry Reding)
- Track bus -> CPU mapping (Thierry Reding)
- Remove misleading PHYS_OFFSET (Thierry Reding)
Renesas R-Car host bridge driver:
- Depend on ARCH_RENESAS, not ARCH_SHMOBILE (Simon Horman)
Synopsys DesignWare host bridge driver:
- ARC: Add PCI support (Joao Pinto)
- Add generic dw_pcie_wait_for_link() (Joao Pinto)
- Add default link up check if sub-driver doesn't override (Joao Pinto)
- Add driver for prototyping kits based on ARC SDP (Joao Pinto)
TI Keystone host bridge driver:
- Defer probing if devm_phy_get() returns -EPROBE_DEFER (Shawn Lin)
Xilinx AXI host bridge driver:
- Use of_pci_get_host_bridge_resources() to parse DT (Bharat Kumar Gogada)
- Remove dependency on ARM-specific struct hw_pci (Bharat Kumar Gogada)
- Don't call pci_fixup_irqs() on Microblaze (Bharat Kumar Gogada)
- Update Zynq binding with Microblaze node (Bharat Kumar Gogada)
- microblaze: Support generic Xilinx AXI PCIe Host Bridge IP driver (Bharat Kumar Gogada)
Xilinx NWL host bridge driver:
- Add support for Xilinx NWL PCIe Host Controller (Bharat Kumar Gogada)
Miscellaneous:
- Check device_attach() return value always (Bjorn Helgaas)
- Move pci_set_flags() from asm-generic/pci-bridge.h to linux/pci.h (Bjorn Helgaas)
- Remove includes of empty asm-generic/pci-bridge.h (Bjorn Helgaas)
- ARM64: Remove generated include of asm-generic/pci-bridge.h (Bjorn Helgaas)
- Remove empty asm-generic/pci-bridge.h (Bjorn Helgaas)
- Remove includes of asm/pci-bridge.h (Bjorn Helgaas)
- Consolidate PCI DMA constants and interfaces in linux/pci-dma-compat.h (Bjorn Helgaas)
- unicore32: Remove unused HAVE_ARCH_PCI_SET_DMA_MASK definition (Bjorn Helgaas)
- Cleanup pci/pcie/Kconfig whitespace (Andreas Ziegler)
- Include pci/hotplug Kconfig directly from pci/Kconfig (Bjorn Helgaas)
- Include pci/pcie/Kconfig directly from pci/Kconfig (Bogicevic Sasa)
- frv: Remove stray pci_{alloc,free}_consistent() declaration (Christoph Hellwig)
- Move pci_dma_* helpers to common code (Christoph Hellwig)
- Add PCI_CLASS_SERIAL_USB_DEVICE definition (Heikki Krogerus)
- Add QEMU top-level IDs for (sub)vendor & device (Robin H. Johnson)
- Fix broken URL for Dell biosdevname (Naga Venkata Sai Indubhaskar Jupudi)"
* tag 'pci-v4.6-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (94 commits)
PCI: Add PCI_CLASS_SERIAL_USB_DEVICE definition
PCI: designware: Add driver for prototyping kits based on ARC SDP
PCI: designware: Add default link up check if sub-driver doesn't override
PCI: designware: Add generic dw_pcie_wait_for_link()
PCI: Cleanup pci/pcie/Kconfig whitespace
PCI: Simplify pci_create_attr() control flow
PCI: Don't leak memory if sysfs_create_bin_file() fails
PCI: Simplify sysfs ROM cleanup
PCI: Remove unused IORESOURCE_ROM_COPY and IORESOURCE_ROM_BIOS_COPY
MIPS: Loongson 3: Keep CPU physical (not virtual) addresses in shadow ROM resource
MIPS: Loongson 3: Use temporary struct resource * to avoid repetition
ia64/PCI: Keep CPU physical (not virtual) addresses in shadow ROM resource
ia64/PCI: Use ioremap() instead of open-coded equivalent
ia64/PCI: Use temporary struct resource * to avoid repetition
PCI: Clean up pci_map_rom() whitespace
PCI: Remove arch-specific IORESOURCE_ROM_SHADOW size from sysfs
PCI: thunder: Add driver for ThunderX-pass{1,2} on-chip devices
PCI: thunder: Add PCIe host driver for ThunderX processors
PCI: generic: Expose pci_host_common_probe() for use by other drivers
PCI: generic: Add pci_host_common_probe(), based on gen_pci_probe()
...
2016-03-16 14:45:55 -07:00
..
2014-06-04 22:50:41 +02:00
2013-02-01 10:00:22 +01:00
2015-11-11 08:35:45 +01:00
2013-02-01 10:00:22 +01:00
2013-02-01 10:00:22 +01:00
2015-09-03 12:08:02 +02:00
2015-09-03 12:08:02 +02:00
2016-02-17 13:47:19 +00:00
2015-09-03 12:08:02 +02:00
2015-11-11 08:36:57 +01:00
2016-01-27 20:51:50 +01:00
2015-06-21 21:53:30 +02:00
2015-09-03 12:08:02 +02:00
2015-04-08 01:09:49 +02:00
2014-03-26 23:09:21 +01:00
2015-06-21 21:52:44 +02:00
2015-03-31 11:59:40 +02:00
2015-09-03 12:08:02 +02:00
2015-04-08 01:09:49 +02:00
2015-06-21 21:54:13 +02:00
2014-08-26 02:18:58 +02:00
2015-04-17 15:50:54 -04:00
2015-04-01 17:22:01 +02:00
2015-09-03 12:08:02 +02:00
2015-11-11 08:37:31 +01:00
2015-03-31 11:59:40 +02:00
2015-06-21 21:53:59 +02:00
2015-09-03 12:08:02 +02:00
2015-11-11 08:35:47 +01:00
2015-04-01 17:21:50 +02:00
2015-03-31 11:59:40 +02:00
2016-01-24 02:53:28 +01:00
2015-09-03 12:08:02 +02:00
2015-02-17 15:37:21 +00:00
2015-03-31 11:59:40 +02:00
2016-01-20 00:39:20 +01:00
2015-09-03 12:08:02 +02:00
2015-04-08 01:09:49 +02:00
2014-11-24 07:44:56 +01:00
2015-07-14 21:47:34 +02:00
2015-03-31 11:59:40 +02:00
2014-11-24 22:47:31 +01:00
2015-03-31 11:59:40 +02:00
2015-11-11 08:38:44 +01:00
2015-04-01 17:22:07 +02:00
2015-09-16 15:47:51 +02:00
2016-02-10 15:08:53 +01:00
2015-04-01 17:22:16 +02:00
2015-04-01 17:21:56 +02:00
2013-02-01 10:00:22 +01:00
2013-05-08 03:51:58 +02:00
2013-02-01 10:00:22 +01:00
2013-02-01 10:00:22 +01:00
2015-06-21 21:54:21 +02:00
2015-11-11 08:36:36 +01:00
2014-07-30 21:46:19 +02:00
2014-01-22 20:19:02 +01:00
2015-04-10 15:41:43 +02:00
2014-03-31 18:17:12 +02:00
2015-04-13 16:01:37 +02:00
2014-01-13 23:40:56 +01:00
2015-09-03 12:07:40 +02:00
2015-11-15 09:10:53 -08:00
2016-01-12 20:46:56 +02:00
2015-10-26 09:49:41 +01:00
2015-06-21 21:54:30 +02:00
2015-06-21 21:53:30 +02:00
2015-04-08 23:52:32 +02:00
2014-11-24 22:47:31 +01:00
2015-02-17 15:37:37 +00:00
2013-02-20 18:24:24 +01:00
2015-03-25 13:48:00 +01:00
2016-01-24 03:29:58 +01:00
2015-11-05 11:15:41 +01:00
2015-09-03 12:07:52 +02:00
2015-04-01 17:21:47 +02:00
2013-12-04 17:19:44 +01:00
2014-11-24 07:45:37 +01:00
2015-11-11 08:36:41 +01:00
2014-05-27 11:06:42 +02:00
2015-05-13 10:55:42 +02:00
2013-02-01 10:00:22 +01:00
2015-11-12 11:35:47 +01:00
2015-02-17 15:37:21 +00:00
2014-10-23 19:58:13 +02:00
2016-01-20 00:39:20 +01:00
2015-04-08 01:10:37 +02:00
2015-08-26 15:23:03 +02:00
2016-01-20 00:39:20 +01:00
2015-10-26 09:49:42 +01:00
2012-10-16 22:20:03 +02:00
2014-01-22 20:43:10 +01:00
2016-01-20 17:09:18 -08:00
2013-02-01 10:00:22 +01:00
2013-01-24 13:20:09 +01:00
2015-05-28 15:31:53 +02:00
2016-02-11 11:38:22 +01:00
2012-10-09 09:47:14 +01:00
2014-08-26 02:18:56 +02:00
2012-03-28 18:30:02 +01:00
2014-05-24 00:07:01 +02:00
2013-02-01 10:00:22 +01:00
2014-11-07 15:07:36 +01:00
2016-01-24 01:35:46 +01:00
2016-02-01 23:36:38 +01:00
2014-10-24 02:38:33 +02:00
2015-02-17 15:37:23 +00:00
2015-02-20 13:30:55 +01:00
2013-02-01 10:00:22 +01:00
2015-06-21 21:52:28 +02:00
2015-11-09 15:11:24 -08:00
2014-11-24 07:45:02 +01:00
2015-06-25 17:00:35 -07:00
2015-06-21 21:54:29 +02:00
2014-11-12 21:17:27 +01:00
2013-05-09 17:55:20 +02:00
2016-01-24 01:44:21 +01:00
2014-11-24 07:44:52 +01:00
2015-09-03 12:07:38 +02:00
2016-01-22 01:58:49 +01:00
2013-02-01 10:00:22 +01:00
2013-02-01 10:00:22 +01:00
2013-02-01 10:00:22 +01:00
2015-08-03 11:34:15 +02:00
2015-10-04 16:31:13 +01:00
2015-09-03 12:08:05 +02:00
2012-12-13 16:46:47 +01:00
2015-06-21 21:54:10 +02:00
2013-02-01 10:00:22 +01:00
2013-02-01 10:00:22 +01:00
2016-01-24 12:50:56 -08:00
2014-05-30 21:01:11 +02:00
2015-09-03 12:07:39 +02:00
2015-02-17 15:37:24 +00:00
2013-02-01 10:00:22 +01:00
2015-09-27 14:15:26 +02:00
2013-02-01 10:00:22 +01:00
2013-05-08 01:19:07 +02:00
2014-05-24 00:07:01 +02:00
2016-01-24 02:09:53 +01:00
2015-11-11 08:35:17 +01:00
2016-01-24 01:35:46 +01:00
2014-05-28 16:20:22 +01:00
2011-10-20 15:00:18 +01:00
2016-01-24 03:20:46 +01:00
2015-02-16 10:55:26 +01:00
2015-02-12 12:30:29 +01:00
2015-02-17 15:37:17 +00:00
2015-09-03 12:07:40 +02:00
2013-02-01 10:00:22 +01:00
2014-06-02 16:34:41 +02:00
2014-11-24 07:45:36 +01:00
2016-01-23 00:28:57 +01:00
2016-03-07 10:40:02 -06:00
2013-11-15 09:32:18 +09:00
2015-06-21 21:53:42 +02:00
2015-04-01 17:21:59 +02:00
2016-01-15 17:56:32 -08:00
2016-01-24 12:50:56 -08:00
2014-05-28 16:20:31 +01:00
2014-05-29 15:08:23 +02:00
2016-02-04 01:24:40 +01:00
2015-06-21 21:54:14 +02:00
2015-09-03 12:08:05 +02:00
2012-08-17 10:57:28 +02:00
2015-04-10 15:41:46 +02:00
2014-08-02 00:06:38 +02:00
2013-02-01 10:00:22 +01:00
2014-01-22 20:19:02 +01:00
2015-04-17 09:04:10 -04:00
2013-10-29 21:24:36 +01:00
2015-01-13 16:04:28 +01:00
2013-02-01 10:00:22 +01:00
2013-02-01 10:00:22 +01:00
2014-06-26 10:48:18 +01:00
2015-09-03 12:07:56 +02:00
2013-02-03 18:33:02 -05:00
2014-07-30 20:47:39 +02:00
2016-02-25 10:56:58 +01:00
2015-08-03 09:25:12 +02:00
2013-02-01 10:00:22 +01:00
2012-10-09 09:47:14 +01:00
2014-07-30 21:46:19 +02:00
2013-02-01 10:00:22 +01:00
2015-09-03 12:08:01 +02:00
2015-02-17 15:37:20 +00:00
2016-02-01 23:36:38 +01:00
2013-07-01 15:10:48 +02:00
2013-02-01 10:00:22 +01:00
2015-09-03 12:08:05 +02:00
2016-02-01 23:27:08 +01:00
2012-10-09 09:47:14 +01:00
2015-09-03 12:08:05 +02:00
2015-09-03 12:07:38 +02:00
2014-05-30 18:21:30 +02:00
2014-01-22 20:18:59 +01:00
2015-09-03 12:07:45 +02:00
2011-12-07 22:01:45 +00:00
2015-05-27 15:22:15 +02:00
2013-02-01 10:00:22 +01:00
2015-06-21 21:52:50 +02:00
2013-02-01 10:00:22 +01:00
2014-11-24 22:47:31 +01:00
2015-12-27 20:07:44 +01:00
2014-11-24 22:47:31 +01:00
2014-06-04 16:54:14 -07:00
2015-09-03 12:08:05 +02:00
2015-11-11 08:36:41 +01:00
2013-09-18 17:13:58 +02:00
2015-08-26 15:23:40 +02:00
2013-02-01 10:00:22 +01:00