The following changes since commit f8394f232b1eab649ce2df5c5f15b0e528c92091: Linux 5.10-rc3 (2020-11-08 16:10:16 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git tags/pci-v5.11-changes for you to fetch changes up to 255b2d524884e4ec60333131aa0ca0ef19826dc2: Merge branch 'remotes/lorenzo/pci/misc' (2020-12-15 15:11:14 -0600) ---------------------------------------------------------------- You should see a trivial conflict: drivers/gpu/vga/vga_switcheroo.c: upstream 9572e6693cd7 ("vga_switcheroo: simplify the return expression of vga_switcheroo_runtime_resume") PCI 99efde6c9bb7 ("PCI/PM: Rename pci_wakeup_bus() to pci_resume_bus()") ---------------------------------------------------------------- Enumeration: - Decode PCIe 64 GT/s link speed (Gustavo Pimentel) - Remove unused HAVE_PCI_SET_MWI (Heiner Kallweit) - Reduce pci_set_cacheline_size() message to debug level (Heiner Kallweit) - Fix pci_slot_release() NULL pointer dereference (Jubin Zhong) - Unify ECAM constants in native PCI Express drivers (Krzysztof Wilczyński) - Return u8 from pci_find_capability() and similar (Puranjay Mohan) - Return u16 from pci_find_ext_capability() and similar (Bjorn Helgaas) - Fix ACPI companion lookup for device 0 on the root bus (Rafael J. Wysocki) Resource management: - Keep both device and resource name for config space remaps (Alexander Lobakin) - Bounds-check command-line resource alignment requests (Bjorn Helgaas) - Fix overflow in command-line resource alignment requests (Colin Ian King) Driver binding: - Avoid duplicate IDs in driver dynamic IDs list (Zhenzhong Duan) Power management: - Save/restore Precision Time Measurement Capability for suspend/resume (David E. Box) - Disable PTM during suspend to save power (David E. Box) - Add sysfs attribute for device power state (Maximilian Luz) - Rename pci_wakeup_bus() to pci_resume_bus() (Mika Westerberg) - Do not generate wakeup event when runtime resuming device (Mika Westerberg) - Save/restore ASPM L1SS Capability for suspend/resume (Vidya Sagar) Virtualization: - Mark AMD Raven iGPU ATS as broken in some platforms (Alex Deucher) - Add function 1 DMA alias quirk for Marvell 9215 SATA controller (Bjorn Helgaas) MSI: - Disable MSI for Pericom PCIe-USB adapter (Andy Shevchenko) - Improve warnings for 32-bit-limited MSI support (Vidya Sagar) Error handling: - Cache RCEC EA Capability offset in pci_init_capabilities() (Sean V Kelley) - Rename reset_link() to reset_subordinates() (Sean V Kelley) - Write AER Capability only when we control it (Sean V Kelley) - Clear AER status only when we control AER (Sean V Kelley) - Bind RCEC devices to the Root Port driver (Qiuxu Zhuo) - Recover from RCiEP AER errors (Qiuxu Zhuo) - Recover from RCEC AER errors (Sean V Kelley) - Add pcie_link_rcec() to associate RCiEPs (Sean V Kelley) - Add pcie_walk_rcec() to RCEC AER handling (Sean V Kelley) - Add pcie_walk_rcec() to RCEC PME handling (Sean V Kelley) - Add RCEC AER error injection support (Qiuxu Zhuo) Broadcom iProc PCIe controller driver: - Fix out-of-bound array accesses (Bharat Gooty) - Invalidate correct PAXB inbound windows (Roman Bacik) - Enhance PCIe Link information display (Srinath Mannam) Cadence PCIe controller driver: - Make "cdns,max-outbound-regions" property optional (Kishon Vijay Abraham I) Intel VMD host bridge driver: - Offset client MSI-X vectors (Jon Derrick) - Update type of __iomem pointers (Krzysztof Wilczyński) NVIDIA Tegra PCIe controller driver: - Move "dbi" accesses to post common DWC initialization (Vidya Sagar) - Read "dbi" base address to program in application logic (Vidya Sagar) - Fix ASPM-L1SS advertisement disable code (Vidya Sagar) - Set DesignWare IP version (Vidya Sagar) - Continue unconfig sequence even if parts fail (Vidya Sagar) - Check return value of tegra_pcie_init_controller() (Vidya Sagar) - Disable LTSSM during L2 entry (Vidya Sagar) Qualcomm PCIe controller driver: - Document PCIe bindings for SM8250 SoC (Manivannan Sadhasivam) - Add SM8250 SoC support (Manivannan Sadhasivam) - Add support for configuring BDF to SID mapping for SM8250 (Manivannan Sadhasivam) Renesas R-Car PCIe controller driver: - rcar: Drop unused members from struct rcar_pcie_host (Lad Prabhakar) - PCI: rcar-pci-host: Document r8a774e1 bindings (Lad Prabhakar) - PCI: rcar-pci-host: Convert bindings to json-schema (Yoshihiro Shimoda) - PCI: rcar-pci-host: Document r8a77965 bindings (Yoshihiro Shimoda) Samsung Exynos PCIe controller driver: - Rework driver to support Exynos5433 PCIe PHY (Jaehoon Chung) - Rework driver to support Exynos5433 variant (Jaehoon Chung) - Drop samsung,exynos5440-pcie binding (Marek Szyprowski) - Add the samsung,exynos-pcie binding (Marek Szyprowski) - Add the samsung,exynos-pcie-phy binding (Marek Szyprowski) Synopsys DesignWare PCIe controller driver: - Support multiple ATU memory regions (Rob Herring) - Move intel-gw ATU offset out of driver match data (Rob Herring) - Move "dbi", "dbi2", and "addr_space" resource setup into common code (Rob Herring) - Remove intel-gw unneeded function wrappers (Rob Herring) - Ensure all outbound ATU windows are reset (Rob Herring) - Use the common MSI irq_chip in dra7xx (Rob Herring) - Drop the .set_num_vectors() host op (Rob Herring) - Move MSI interrupt setup into DWC common code (Rob Herring) - Rework MSI initialization (Rob Herring) - Move link handling into common code (Rob Herring) - Move dw_pcie_msi_init() into core (Rob Herring) - Move dw_pcie_setup_rc() to DWC common code (Rob Herring) - Remove unnecessary wrappers around dw_pcie_host_init() (Rob Herring) - Drop keystone duplicated 'num-viewport'" (Rob Herring) - Move inbound and outbound windows to common struct (Rob Herring) - Detect number of iATU windows (Rob Herring) - Warn if non-prefetchable memory aperture size is > 32-bit (Vidya Sagar) - Add support to program ATU for >4GB memory (Vidya Sagar) - Set 32-bit DMA mask for MSI target address allocation (Vidya Sagar) TI J721E PCIe driver: - Fix "ti,syscon-pcie-ctrl" to take argument (Kishon Vijay Abraham I) - Add host mode dt-bindings for TI's J7200 SoC (Kishon Vijay Abraham I) - Add EP mode dt-bindings for TI's J7200 SoC (Kishon Vijay Abraham I) - Get offset within "syscon" from "ti,syscon-pcie-ctrl" phandle arg (Kishon Vijay Abraham I) TI Keystone PCIe controller driver: - Enable compile-testing on !ARM (Alex Dewar) ---------------------------------------------------------------- Alex Deucher (1): PCI: Mark AMD Raven iGPU ATS as broken in some platforms Alex Dewar (1): PCI: keystone: Enable compile-testing on !ARM Alexander Lobakin (1): PCI: Keep both device and resource name for config space remaps Andy Shevchenko (2): PCI: Disable MSI for Pericom PCIe-USB adapter PCI: Use predefined Pericom Vendor ID Bharat Gooty (1): PCI: iproc: Fix out-of-bound array accesses Bjorn Helgaas (25): PCI: ibmphp: Remove unneeded break PCI: Bounds-check command-line resource alignment requests PCI/MSI: Move MSI/MSI-X init to msi.c PCI/MSI: Move MSI/MSI-X flags updaters to msi.c PCI: Return u16 from pci_find_ext_capability() and similar PCI: Add function 1 DMA alias quirk for Marvell 9215 SATA controller Merge branch 'pci/aspm' Merge branch 'pci/enumeration' Merge branch 'pci/err' Merge branch 'pci/hotplug' Merge branch 'pci/misc' Merge branch 'pci/msi' Merge branch 'pci/pm' Merge branch 'pci/ptm' Merge branch 'pci/virtualization' Merge branch 'pci/ecam' Merge branch 'remotes/lorenzo/pci/aardvark' Merge branch 'remotes/lorenzo/pci/brcmstb' Merge branch 'remotes/lorenzo/pci/cadence' Merge branch 'remotes/lorenzo/pci/dwc' Merge branch 'remotes/lorenzo/pci/iproc' Merge branch 'remotes/lorenzo/pci/keystone' Merge branch 'remotes/lorenzo/pci/rcar' Merge branch 'remotes/lorenzo/pci/vmd' Merge branch 'remotes/lorenzo/pci/misc' Colin Ian King (1): PCI: Fix overflow in command-line resource alignment requests David E. Box (2): PCI/PTM: Save/restore Precision Time Measurement Capability for suspend/resume PCI: Disable PTM during suspend to save power Gustavo Pimentel (2): MAINTAINERS: Add missing documentation references to PCI Endpoint Subsystem PCI: Decode PCIe 64 GT/s link speed Heiner Kallweit (2): PCI: Remove unused HAVE_PCI_SET_MWI PCI: Reduce pci_set_cacheline_size() message to debug level Jaehoon Chung (2): phy: samsung: phy-exynos-pcie: rework driver to support Exynos5433 PCIe PHY PCI: dwc: exynos: Rework the driver to support Exynos5433 variant Jim Quinlan (1): PCI: brcmstb: Initialize "tmp" before use Jon Derrick (1): PCI: vmd: Offset Client VMD MSI-X vectors Jubin Zhong (1): PCI: Fix pci_slot_release() NULL pointer dereference Kishon Vijay Abraham I (6): dt-bindings: PCI: Make "cdns,max-outbound-regions" optional property PCI: cadence: Do not error if "cdns,max-outbound-regions" is not found dt-bindings: pci: ti,j721e: Fix "ti,syscon-pcie-ctrl" to take argument dt-bindings: PCI: Add host mode dt-bindings for TI's J7200 SoC dt-bindings: PCI: Add EP mode dt-bindings for TI's J7200 SoC PCI: j721e: Get offset within "syscon" from "ti,syscon-pcie-ctrl" phandle arg Krzysztof Wilczyński (5): PCI: Unify ECAM constants in native PCI Express drivers PCI: thunder-pem: Add constant for custom ".bus_shift" initialiser PCI: iproc: Convert to use the new ECAM constants PCI: vmd: Update type of the __iomem pointers PCI: xgene: Removed unused ".bus_shift" initialisers from pci-xgene.c Lad Prabhakar (2): PCI: rcar: Drop unused members from struct rcar_pcie_host dt-bindings: PCI: rcar-pci-host: Document r8a774e1 bindings Manivannan Sadhasivam (3): dt-bindings: pci: qcom: Document PCIe bindings for SM8250 SoC PCI: qcom: Add SM8250 SoC support PCI: qcom: Add support for configuring BDF to SID mapping for SM8250 Marek Szyprowski (3): dt-bindings: PCI: exynos: drop samsung,exynos5440-pcie binding dt-bindings: PCI: exynos: add the samsung,exynos-pcie binding dt-bindings: phy: exynos: add the samsung,exynos-pcie-phy binding Mauro Carvalho Chehab (1): PCI: Fix kernel-doc markup Maximilian Luz (1): PCI: Add sysfs attribute for device power state Mika Westerberg (2): PCI/PM: Rename pci_wakeup_bus() to pci_resume_bus() PCI/PM: Do not generate wakeup event when runtime resuming device Pali Rohár (1): PCI: aardvark: Update comment about disabling link training Puranjay Mohan (1): PCI: Return u8 from pci_find_capability() and similar Qiuxu Zhuo (3): PCI/ERR: Bind RCEC devices to the Root Port driver PCI/ERR: Recover from RCiEP AER errors PCI/AER: Add RCEC AER error injection support Rafael J. Wysocki (1): PCI/ACPI: Fix companion lookup for device 0 on the root bus Rob Herring (16): PCI: dwc: Support multiple ATU memory regions PCI: dwc/intel-gw: Move ATU offset out of driver match data PCI: dwc: Move "dbi", "dbi2", and "addr_space" resource setup into common code PCI: dwc/intel-gw: Remove some unneeded function wrappers PCI: dwc: Ensure all outbound ATU windows are reset PCI: dwc/dra7xx: Use the common MSI irq_chip PCI: dwc: Drop the .set_num_vectors() host op PCI: dwc: Move MSI interrupt setup into DWC common code PCI: dwc: Rework MSI initialization PCI: dwc: Move link handling into common code PCI: dwc: Move dw_pcie_msi_init() into core PCI: dwc: Move dw_pcie_setup_rc() to DWC common code PCI: dwc: Remove unnecessary wrappers around dw_pcie_host_init() Revert "PCI: dwc/keystone: Drop duplicated 'num-viewport'" PCI: dwc: Move inbound and outbound windows to common struct PCI: dwc: Detect number of iATU windows Roman Bacik (1): PCI: iproc: Invalidate correct PAXB inbound windows Sean V Kelley (13): PCI/AER: Write AER Capability only when we control it PCI/ERR: Cache RCEC EA Capability offset in pci_init_capabilities() PCI/ERR: Rename reset_link() to reset_subordinates() PCI/ERR: Simplify by using pci_upstream_bridge() PCI/ERR: Simplify by computing pci_pcie_type() once PCI/ERR: Use "bridge" for clarity in pcie_do_recovery() PCI/ERR: Avoid negated conditional for clarity PCI/ERR: Add pci_walk_bridge() to pcie_do_recovery() PCI/ERR: Clear AER status only when we control AER PCI/ERR: Recover from RCEC AER errors PCI/ERR: Add pcie_link_rcec() to associate RCiEPs PCI/AER: Add pcie_walk_rcec() to RCEC AER handling PCI/PME: Add pcie_walk_rcec() to RCEC PME handling Srinath Mannam (1): PCI: iproc: Enhance PCIe Link information display Vidya Sagar (12): PCI: of: Warn if non-prefetchable memory aperture size is > 32-bit PCI: dwc: Add support to program ATU for >4GB memory PCI/ASPM: Save/restore L1SS Capability for suspend/resume PCI: tegra: Move "dbi" accesses to post common DWC initialization PCI: tegra: Read "dbi" base address to program in application logic PCI/MSI: Set device flag indicating only 32-bit MSI support PCI: tegra: Fix ASPM-L1SS advertisement disable code PCI: tegra: Set DesignWare IP version PCI: tegra: Continue unconfig sequence even if parts fail PCI: tegra: Check return value of tegra_pcie_init_controller() PCI: tegra: Disable LTSSM during L2 entry PCI: dwc: Set 32-bit DMA mask for MSI target address allocation Yoshihiro Shimoda (2): dt-bindings: PCI: rcar-pci-host: Convert bindings to json-schema dt-bindings: PCI: rcar-pci-host: Document r8a77965 bindings Zhenzhong Duan (2): PCI: Move pci_match_device() ahead of new_id_store() PCI: Avoid duplicate IDs in driver dynamic IDs list Documentation/ABI/testing/sysfs-bus-pci | 9 + .../devicetree/bindings/pci/cdns-pcie-ep.yaml | 3 - .../devicetree/bindings/pci/qcom,pcie.txt | 6 +- .../devicetree/bindings/pci/rcar-pci-host.yaml | 115 ++++++ Documentation/devicetree/bindings/pci/rcar-pci.txt | 72 ---- .../bindings/pci/samsung,exynos-pcie.yaml | 119 +++++++ .../bindings/pci/samsung,exynos5440-pcie.txt | 58 --- .../devicetree/bindings/pci/ti,j721e-pci-ep.yaml | 23 +- .../devicetree/bindings/pci/ti,j721e-pci-host.yaml | 27 +- .../bindings/phy/samsung,exynos-pcie-phy.yaml | 51 +++ MAINTAINERS | 2 + drivers/gpu/vga/vga_switcheroo.c | 2 +- drivers/pci/Makefile | 3 +- drivers/pci/controller/cadence/pci-j721e.c | 28 +- drivers/pci/controller/cadence/pcie-cadence-ep.c | 9 +- drivers/pci/controller/cadence/pcie-cadence.h | 1 + drivers/pci/controller/dwc/Kconfig | 14 +- drivers/pci/controller/dwc/pci-dra7xx.c | 141 +------- drivers/pci/controller/dwc/pci-exynos.c | 389 ++++++++------------- drivers/pci/controller/dwc/pci-imx6.c | 39 +-- drivers/pci/controller/dwc/pci-keystone.c | 79 +---- drivers/pci/controller/dwc/pci-layerscape-ep.c | 37 +- drivers/pci/controller/dwc/pci-layerscape.c | 67 +--- drivers/pci/controller/dwc/pci-meson.c | 53 +-- drivers/pci/controller/dwc/pcie-al.c | 41 +-- drivers/pci/controller/dwc/pcie-armada8k.c | 37 +- drivers/pci/controller/dwc/pcie-artpec6.c | 76 +--- drivers/pci/controller/dwc/pcie-designware-ep.c | 58 +-- drivers/pci/controller/dwc/pcie-designware-host.c | 147 +++++--- drivers/pci/controller/dwc/pcie-designware-plat.c | 70 +--- drivers/pci/controller/dwc/pcie-designware.c | 105 +++++- drivers/pci/controller/dwc/pcie-designware.h | 27 +- drivers/pci/controller/dwc/pcie-hisi.c | 2 - drivers/pci/controller/dwc/pcie-histb.c | 37 +- drivers/pci/controller/dwc/pcie-intel-gw.c | 67 +--- drivers/pci/controller/dwc/pcie-kirin.c | 62 +--- drivers/pci/controller/dwc/pcie-qcom.c | 127 +++++-- drivers/pci/controller/dwc/pcie-spear13xx.c | 62 ++-- drivers/pci/controller/dwc/pcie-tegra194.c | 129 +++---- drivers/pci/controller/dwc/pcie-uniphier-ep.c | 38 +- drivers/pci/controller/dwc/pcie-uniphier.c | 51 +-- drivers/pci/controller/pci-aardvark.c | 22 +- drivers/pci/controller/pci-host-generic.c | 1 - drivers/pci/controller/pci-thunder-ecam.c | 1 - drivers/pci/controller/pci-thunder-pem.c | 13 +- drivers/pci/controller/pci-xgene.c | 2 - drivers/pci/controller/pcie-brcmstb.c | 17 +- drivers/pci/controller/pcie-iproc.c | 60 ++-- drivers/pci/controller/pcie-rcar-host.c | 2 - drivers/pci/controller/pcie-rockchip-host.c | 27 +- drivers/pci/controller/pcie-rockchip.h | 8 +- drivers/pci/controller/pcie-tango.c | 1 - drivers/pci/controller/pcie-xilinx-nwl.c | 9 +- drivers/pci/controller/pcie-xilinx.c | 11 +- drivers/pci/controller/vmd.c | 56 +-- drivers/pci/ecam.c | 32 +- drivers/pci/hotplug/ibmphp_pci.c | 2 - drivers/pci/msi.c | 70 +++- drivers/pci/of.c | 5 + drivers/pci/p2pdma.c | 10 +- drivers/pci/pci-acpi.c | 22 +- drivers/pci/pci-driver.c | 151 ++++---- drivers/pci/pci-sysfs.c | 10 + drivers/pci/pci.c | 125 ++++--- drivers/pci/pci.h | 72 ++-- drivers/pci/pcie/Makefile | 2 +- drivers/pci/pcie/aer.c | 101 ++++-- drivers/pci/pcie/aer_inject.c | 5 +- drivers/pci/pcie/aspm.c | 44 +++ drivers/pci/pcie/err.c | 95 +++-- drivers/pci/pcie/pme.c | 16 +- drivers/pci/pcie/portdrv_core.c | 9 +- drivers/pci/pcie/portdrv_pci.c | 13 +- drivers/pci/pcie/ptm.c | 60 ++++ drivers/pci/pcie/rcec.c | 190 ++++++++++ drivers/pci/probe.c | 30 +- drivers/pci/quirks.c | 41 ++- drivers/pci/slot.c | 11 +- drivers/phy/samsung/phy-exynos-pcie.c | 304 ++++++---------- include/linux/pci-ecam.h | 27 ++ include/linux/pci.h | 27 +- include/linux/pci_ids.h | 1 + include/uapi/linux/pci_regs.h | 11 + 83 files changed, 2140 insertions(+), 2059 deletions(-) create mode 100644 Documentation/devicetree/bindings/pci/rcar-pci-host.yaml delete mode 100644 Documentation/devicetree/bindings/pci/rcar-pci.txt create mode 100644 Documentation/devicetree/bindings/pci/samsung,exynos-pcie.yaml delete mode 100644 Documentation/devicetree/bindings/pci/samsung,exynos5440-pcie.txt create mode 100644 Documentation/devicetree/bindings/phy/samsung,exynos-pcie-phy.yaml create mode 100644 drivers/pci/pcie/rcec.c