[GIT PULL] PCI changes for v5.6
From: Bjorn Helgaas
Date: Fri Jan 31 2020 - 17:34:31 EST
The following changes since commit e42617b825f8073569da76dc4510bfa019b1c35a:
Linux 5.5-rc1 (2019-12-08 14:57:55 -0800)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git 01b810ed7187
for you to fetch changes up to 01b810ed71878785d189d01e4d7425a11203d7a8:
Merge branch 'remotes/lorenzo/pci/uniphier' (2020-01-29 17:00:08 -0600)
----------------------------------------------------------------
Resource management:
- Improve resource assignment for hot-added nested bridges, e.g.,
Thunderbolt (Nicholas Johnson)
Power management:
- Optionally print config space of devices before suspend (Chen Yu)
- Increase D3 delay for AMD Ryzen5/7 XHCI controllers (Daniel Drake)
Virtualization:
- Generalize DMA alias quirks (James Sewart)
- Add DMA alias quirk for PLX PEX NTB (James Sewart)
- Fix IOV memory leak (Navid Emamdoost)
AER:
- Log which device prevents error recovery (Yicong Yang)
Peer-to-peer DMA:
- Whitelist Intel SkyLake-E (Armen Baloyan)
Broadcom iProc host bridge driver:
- Apply PAXC quirk whether driver is built-in or module (Wei Liu)
Broadcom STB host bridge driver:
- Add Broadcom STB PCIe host controller driver (Jim Quinlan)
Intel Gateway SoC host bridge driver:
- Add driver for Intel Gateway SoC (Dilip Kota)
Intel VMD host bridge driver:
- Add support for DMA aliases on other buses (Jon Derrick)
- Remove dma_map_ops overrides (Jon Derrick)
- Remove now-unused X86_DEV_DMA_OPS (Christoph Hellwig)
NVIDIA Tegra host bridge driver:
- Fix Tegra30 afi_pex2_ctrl register offset (Marcel Ziswiler)
Panasonic UniPhier host bridge driver:
- Remove module code since driver can't be built as a module (Masahiro
Yamada)
Qualcomm host bridge driver:
- Add support for SDM845 PCIe controller (Bjorn Andersson)
TI Keystone host bridge driver:
- Fix "num-viewport" DT property error handling (Kishon Vijay Abraham I)
- Fix link training retries initiation (Yurii Monakov)
- Fix outbound region mapping (Yurii Monakov)
Misc:
- Add Switchtec Gen4 support (Kelvin Cao)
- Add Switchtec Intercomm Notify and Upstream Error Containment support
(Logan Gunthorpe)
- Use dma_set_mask_and_coherent() since Switchtec supports 64-bit
addressing (Wesley Sheng)
----------------------------------------------------------------
Andrew Murray (1):
MAINTAINERS: Update my email address
Armen Baloyan (1):
PCI/P2PDMA: Add Intel SkyLake-E to the whitelist
Bjorn Andersson (2):
dt-bindings: PCI: qcom: Add support for SDM845 PCIe
PCI: qcom: Add support for SDM845 PCIe controller
Bjorn Helgaas (16):
PCI/AER: Factor message prefixes with dev_fmt()
Merge branch 'pci/aer'
Merge branch 'pci/misc'
Merge branch 'pci/p2pdma'
Merge branch 'pci/pm'
Merge branch 'pci/resource'
Merge branch 'pci/switchtec'
Merge branch 'pci/virtualization'
Merge branch 'pci/host-vmd'
Merge branch 'remotes/lorenzo/pci/brcmstb'
Merge branch 'remotes/lorenzo/pci/dwc'
Merge branch 'remotes/lorenzo/pci/keystone'
Merge branch 'remotes/lorenzo/pci/misc'
Merge branch 'remotes/lorenzo/pci/qcom'
Merge branch 'remotes/lorenzo/pci/tegra'
Merge branch 'remotes/lorenzo/pci/uniphier'
Chen Yu (1):
PCI/PM: Print config space of devices before suspend
Christoph Hellwig (2):
x86/PCI: Add to_pci_sysdata() helper
x86/PCI: Remove X86_DEV_DMA_OPS
Daniel Drake (2):
PCI: Add generic quirk for increasing D3hot delay
PCI: Increase D3 delay for AMD Ryzen5/7 XHCI controllers
David Engraf (1):
PCI: tegra: Fix return value check of pm_runtime_get_sync()
Dilip Kota (3):
dt-bindings: PCI: intel: Add YAML schemas for the PCIe RC controller
PCI: dwc: intel: PCIe RC controller driver
PCI: artpec6: Configure FTS with dwc helper function
Dongdong Liu (1):
PCI/AER: Initialize aer_fifo
James Sewart (3):
PCI: Fix pci_add_dma_alias() bitmask size
PCI: Add nr_devfns parameter to pci_add_dma_alias()
PCI: Add DMA alias quirk for PLX PEX NTB
Jim Quinlan (3):
dt-bindings: PCI: Add bindings for brcmstb's PCIe device
PCI: brcmstb: Add Broadcom STB PCIe host controller driver
PCI: brcmstb: Add MSI support
Jon Derrick (5):
x86/PCI: Expose VMD's pci_dev in struct pci_sysdata
PCI: Introduce pci_real_dma_dev()
iommu/vt-d: Use pci_real_dma_dev() for mapping
iommu/vt-d: Remove VMD child device sanity check
PCI: vmd: Remove dma_map_ops overrides
Kelvin Cao (3):
PCI/switchtec: Add Gen4 flash information interface support
PCI/switchtec: Add Gen4 MRPC GAS access permission check
PCI/switchtec: Add Gen4 device IDs
Kishon Vijay Abraham I (1):
PCI: keystone: Fix error handling when "num-viewport" DT property is not populated
Krzysztof Kozlowski (1):
PCI: exynos: Rename Exynos to lowercase
Logan Gunthorpe (8):
PCI/switchtec: Fix vep_vector_number ioread width
PCI: Don't disable bridge BARs when assigning bus resources
PCI/switchtec: Add support for Intercomm Notify and Upstream Error Containment
PCI/switchtec: Rename generation-specific constants
PCI/switchtec: Add 'generation' variable
PCI/switchtec: Factor out Gen3 ioctl_flash_part_info()
PCI/switchtec: Separate Gen3 register structures into unions
PCI/switchtec: Add Gen4 system info register support
Marcel Ziswiler (1):
PCI: tegra: Fix afi_pex2_ctrl reg offset for Tegra30
Masahiro Yamada (1):
PCI: uniphier: remove module code from built-in driver
Navid Emamdoost (1):
PCI/IOV: Fix memory leak in pci_iov_add_virtfn()
Nicholas Johnson (9):
PCI: Remove unnecessary braces
PCI: Rename variables
PCI: Pass size + alignment to pci_bus_distribute_available_resources()
PCI: Remove local variable usage in pci_bus_distribute_available_resources()
PCI: Consider alignment of hot-added bridges when assigning resources
PCI: Rename extend_bridge_window() parameter
PCI: Rename extend_bridge_window() to adjust_bridge_window()
PCI: Set resource size directly in adjust_bridge_window()
PCI: Allow adjust_bridge_window() to shrink resource if necessary
Sushma Kalakota (1):
PCI: vmd: Add two VMD Device IDs
Wei Liu (1):
PCI: iproc: Apply quirk_paxc_bridge() for module as well as built-in
Wesley Sheng (3):
PCI/switchtec: Use dma_set_mask_and_coherent()
PCI/switchtec: Remove redundant valid PFF number count
PCI/switchtec: Move check event ID from mask_event() to switchtec_event_isr()
Yicong Yang (1):
PCI/AER: Log which device prevents error recovery
Yurii Monakov (2):
PCI: keystone: Fix link training retries initiation
PCI: keystone: Fix outbound region mapping
Zenghui Yu (1):
Documentation: PCI: Fix pci_alloc_irq_vectors() function name typo
.mailmap | 2 +
Documentation/PCI/msi-howto.rst | 2 +-
.../devicetree/bindings/pci/brcm,stb-pcie.yaml | 97 ++
.../devicetree/bindings/pci/intel-gw-pcie.yaml | 138 +++
.../devicetree/bindings/pci/qcom,pcie.txt | 19 +
MAINTAINERS | 2 +-
arch/x86/Kconfig | 3 -
arch/x86/include/asm/device.h | 10 -
arch/x86/include/asm/pci.h | 31 +-
arch/x86/pci/common.c | 48 +-
drivers/iommu/amd_iommu.c | 7 +-
drivers/iommu/intel-iommu.c | 11 +-
drivers/pci/controller/Kconfig | 10 +-
drivers/pci/controller/Makefile | 1 +
drivers/pci/controller/dwc/Kconfig | 11 +
drivers/pci/controller/dwc/Makefile | 1 +
drivers/pci/controller/dwc/pci-exynos.c | 2 +-
drivers/pci/controller/dwc/pci-keystone.c | 6 +-
drivers/pci/controller/dwc/pcie-artpec6.c | 8 +-
drivers/pci/controller/dwc/pcie-designware.c | 56 ++
drivers/pci/controller/dwc/pcie-designware.h | 12 +
drivers/pci/controller/dwc/pcie-intel-gw.c | 545 +++++++++++
drivers/pci/controller/dwc/pcie-qcom.c | 150 +++
drivers/pci/controller/dwc/pcie-uniphier.c | 31 +-
drivers/pci/controller/pci-tegra.c | 4 +-
drivers/pci/controller/pcie-brcmstb.c | 1015 ++++++++++++++++++++
drivers/pci/controller/pcie-iproc.c | 24 +
drivers/pci/controller/vmd.c | 156 +--
drivers/pci/iov.c | 9 +-
drivers/pci/p2pdma.c | 3 +
drivers/pci/pci.c | 48 +-
drivers/pci/pci.h | 3 +
drivers/pci/pcie/aer.c | 1 +
drivers/pci/pcie/err.c | 12 +-
drivers/pci/quirks.c | 117 ++-
drivers/pci/search.c | 10 +-
drivers/pci/setup-bus.c | 163 ++--
drivers/pci/switch/switchtec.c | 370 +++++--
include/linux/pci.h | 3 +-
include/linux/switchtec.h | 160 ++-
include/uapi/linux/pci_regs.h | 1 +
include/uapi/linux/switchtec_ioctl.h | 17 +-
42 files changed, 2800 insertions(+), 519 deletions(-)
create mode 100644 Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
create mode 100644 Documentation/devicetree/bindings/pci/intel-gw-pcie.yaml
create mode 100644 drivers/pci/controller/dwc/pcie-intel-gw.c
create mode 100644 drivers/pci/controller/pcie-brcmstb.c