[GIT PULL] PCI changes for v6.12

From: Bjorn Helgaas
Date: Thu Sep 19 2024 - 15:45:26 EST


The following changes since commit 8400291e289ee6b2bf9779ff1c83a291501f017b:

Linux 6.11-rc1 (2024-07-28 14:19:55 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git tags/pci-v6.12-changes

for you to fetch changes up to 81e53c0da8f8b153e049036e5ca5ca20e811c0c8:

Merge branch 'pci/tools' (2024-09-19 14:25:34 -0500)

Rebased today to fix comment typos and drop a duplicate patch; no code changes.
----------------------------------------------------------------

Enumeration:

- Wait for device readiness after reset by polling Vendor ID and looking
for Configuration RRS instead of polling the Command register and
looking for non-error completions, to avoid hardware retries done for
RRS on non-Vendor ID reads (Bjorn Helgaas)

- Rename CRS Completion Status to RRS ('Request Retry Status') to match
PCIe r6.0 spec usage (Bjorn Helgaas)

- Clear LBMS bit after a manual link retrain so we don't try to retrain a
link when there's no downstream device anymore (Maciej W. Rozycki)

- Revert to the original link speed after retraining fails instead of
leaving it restricted to 2.5GT/s, so a future device has a chance to
use higher speeds (Maciej W. Rozycki)

- Wait for each level of downstream bus, not just the first, to become
accessible before restoring devices on that bus (Ilpo Järvinen)

- Add ARCH_PCI_DEV_GROUPS so s390 can add its own attribute_groups
without having to stomp on the core's pdev->dev.groups (Lukas Wunner)

Driver binding:

- Export pcim_request_region(), a managed counterpart of
pci_request_region(), for use by drivers (Philipp Stanner)

- Export pcim_iomap_region() and deprecate pcim_iomap_regions() (Philipp
Stanner)

- Request the PCI BAR used by xboxvideo (Philipp Stanner)

- Request and map drm/ast BARs with pcim_iomap_region() (Philipp Stanner)

MSI:

- Add MSI_FLAG_NO_AFFINITY flag for devices that mux MSIs onto a single
IRQ line and cannot set the affinity of each MSI to a specific CPU core
(Marek Vasut)

- Use MSI_FLAG_NO_AFFINITY and remove unnecessary .irq_set_affinity()
implementations in aardvark, altera, brcmstb, dwc, mediatek-gen3,
mediatek, mobiveil, plda, rcar, tegra, vmd, xilinx-nwl, xilinx-xdma,
and xilinx drivers to avoid 'IRQ: set affinity failed' warnings (Marek
Vasut)

Power management:

- Add pwrctl support for ATH11K inside the WCN6855 package (Konrad
Dybcio)

PCI device hotplug:

- Remove unnecessary hpc_ops struct from shpchp (ngn)

- Check for PCI_POSSIBLE_ERROR(), not 0xffffffff, in cpqphp (weiyufeng)

Virtualization:

- Mark Creative Labs EMU20k2 INTx masking as broken (Alex Williamson)

- Add an ACS quirk for Qualcomm SA8775P, which doesn't advertise ACS but
does provide ACS-like features (Subramanian Ananthanarayanan)

IOMMU:

- Add function 0 DMA alias quirk for Glenfly Arise audio function, which
uses the function 0 Requester ID (WangYuli)

NPEM:

- Add Native PCIe Enclosure Management (NPEM) support for sysfs control
of NVMe RAID storage indicators (ok/fail/locate/rebuild/etc) (Mariusz
Tkaczyk)

- Add support for the ACPI _DSM PCIe SSD status LED management, which is
functionally similar to NPEM but mediated by platform firmware (Mariusz
Tkaczyk)

Device trees:

- Drop minItems and maxItems from ranges in PCI generic host binding
since host bridges may have several MMIO and I/O port apertures (Frank
Li)

- Add kirin, rcar-gen2, uniphier DT binding top-level constraints for
clocks (Krzysztof Kozlowski)

Altera PCIe controller driver:

- Convert altera DT bindings from text to YAML (Matthew Gerlach)

- Replace TLP_REQ_ID() with macro PCI_DEVID(), which does the same thing
and is what other drivers use (Jinjie Ruan)

Broadcom STB PCIe controller driver:

- Add DT binding maxItems for reset controllers (Jim Quinlan)

- Use the 'bridge' reset method if described in the DT (Jim Quinlan)

- Use the 'swinit' reset method if described in the DT (Jim Quinlan)

- Add 'has_phy' so the existence of a 'rescal' reset controller doesn't
imply software control of it (Jim Quinlan)

- Add support for many inbound DMA windows (Jim Quinlan)

- Rename SoC 'type' to 'soc_base' express the fact that SoCs come in
families of multiple similar devices (Jim Quinlan)

- Add Broadcom 7712 DT description and driver support (Jim Quinlan)

- Sort enums, pcie_offsets[], pcie_cfg_data, .compatible strings for
maintainability (Bjorn Helgaas)

Freescale i.MX6 PCIe controller driver:

- Add imx6q-pcie 'dbi2' and 'atu' reg-names for i.MX8M Endpoints (Richard
Zhu)

- Fix a code restructuring error that caused i.MX8MM and i.MX8MP
Endpoints to fail to establish link (Richard Zhu)

- Fix i.MX8MP Endpoint occasional failure to trigger MSI by enforcing
outbound alignment requirement (Richard Zhu)

- Call phy_power_off() in the .probe() error path (Frank Li)

- Rename internal names from imx6_* to imx_* since i.MX7/8/9 are also
supported (Frank Li)

- Manage Refclk by using SoC-specific callbacks instead of switch
statements (Frank Li)

- Manage core reset by using SoC-specific callbacks instead of switch
statements (Frank Li)

- Expand comments for erratum ERR010728 workaround (Frank Li)

- Use generic PHY APIs to configure mode, speed, and submode, which is
harmless for devices that implement their own internal PHY management
and don't set the generic imx_pcie->phy (Frank Li)

- Add i.MX8Q (i.MX8QM, i.MX8QXP, and i.MX8DXL) DT binding and driver Root
Complex support (Richard Zhu)

Freescale Layerscape PCIe controller driver:

- Replace layerscape-pcie DT binding compatible fsl,lx2160a-pcie with
fsl,lx2160ar2-pcie (Frank Li)

- Add layerscape-pcie DT binding deprecated 'num-viewport' property to
address a DT checker warning (Frank Li)

- Change layerscape-pcie DT binding 'fsl,pcie-scfg' to phandle-array
(Frank Li)

Loongson PCIe controller driver:

- Increase max PCI hosts to 8 for Loongson-3C6000 and newer chipsets
(Huacai Chen)

Marvell Aardvark PCIe controller driver:

- Fix issue with emulating Configuration RRS for two-byte reads of Vendor
ID; previously it only worked for four-byte reads (Bjorn Helgaas)

MediaTek PCIe Gen3 controller driver:

- Add per-SoC struct mtk_gen3_pcie_pdata to support multiple SoC types
(Lorenzo Bianconi)

- Use reset_bulk APIs to manage PHY reset lines (Lorenzo Bianconi)

- Add DT and driver support for Airoha EN7581 PCIe controller (Lorenzo
Bianconi)

Qualcomm PCIe controller driver:

- Update qcom,pcie-sc7280 DT binding with eight interrupts (Rayyan
Ansari)

- Add back DT 'vddpe-3v3-supply', which was incorrectly removed earlier
(Johan Hovold)

- Drop endpoint redundant masking of global IRQ events (Manivannan
Sadhasivam)

- Clarify unknown global IRQ message and only log it once to avoid a
flood (Manivannan Sadhasivam)

- Add 'linux,pci-domain' property to endpoint DT binding (Manivannan
Sadhasivam)

- Assign PCI domain number for endpoint controllers (Manivannan
Sadhasivam)

- Add 'qcom_pcie_ep' and the PCI domain number to IRQ names for endpoint
controller (Manivannan Sadhasivam)

- Add global SPI interrupt for PCIe link events to DT binding (Manivannan
Sadhasivam)

- Add global RC interrupt handler to handle 'Link up' events and
automatically enumerate hot-added devices (Manivannan Sadhasivam)

- Avoid mirroring of DBI and iATU register space so it doesn't overlap
BAR MMIO space (Prudhvi Yarlagadda)

- Enable controller resources like PHY only after PERST# is deasserted to
partially avoid the problem that the endpoint SoC crashes when
accessing things when Refclk is absent (Manivannan Sadhasivam)

- Add 16.0 GT/s equalization and RX lane margining settings (Shashank
Babu Chinta Venkata)

- Pass domain number to pci_bus_release_domain_nr() explicitly to avoid a
NULL pointer dereference (Manivannan Sadhasivam)

Renesas R-Car PCIe controller driver:

- Make the read-only const array 'check_addr' static (Colin Ian King)

- Add R-Car V4M (R8A779H0) PCIe host and endpoint to DT binding
(Yoshihiro Shimoda)

TI DRA7xx PCIe controller driver:

- Request IRQF_ONESHOT for 'dra7xx-pcie-main' IRQ since the primary
handler is NULL (Siddharth Vadapalli)

- Handle IRQ request errors during root port and endpoint probe
(Siddharth Vadapalli)

TI J721E PCIe driver:

- Add DT 'ti,syscon-acspcie-proxy-ctrl' and driver support to enable the
ACSPCIE module to drive Refclk for the Endpoint (Siddharth Vadapalli)

- Extract the cadence link setup from cdns_pcie_host_setup() so link
setup can be done separately during resume (Thomas Richard)

- Add T_PERST_CLK_US definition for the mandatory delay between Refclk
becoming stable and PERST# being deasserted (Thomas Richard)

- Add j721e suspend and resume support (Théo Lebrun)

TI Keystone PCIe controller driver:

- Fix NULL pointer checking when applying MRRS limitation quirk for AM65x
SR 1.0 Errata #i2037 (Dan Carpenter)

Xilinx NWL PCIe controller driver:

- Fix off-by-one error in INTx IRQ handler that caused INTx interrupts to
be lost or delivered as the wrong interrupt (Sean Anderson)

- Rate-limit misc interrupt messages (Sean Anderson)

- Turn off the clock on probe failure and device removal (Sean Anderson)

- Add DT binding and driver support for enabling/disabling PHYs (Sean
Anderson)

- Add PCIe phy bindings for the ZCU102 (Sean Anderson)

Xilinx XDMA PCIe controller driver:

- Add support for Xilinx QDMA Soft IP PCIe Root Port Bridge to DT binding
and xilinx-dma-pl driver (Thippeswamy Havalige)

Miscellaneous:

- Fix buffer overflow in kirin_pcie_parse_port() (Alexandra Diupina)

- Fix minor kerneldoc issues and typos (Bjorn Helgaas)

- Use PCI_DEVID() macro in aer_inject() instead of open-coding it (Jinjie
Ruan)

- Check pcie_find_root_port() return in x86 fixups to avoid NULL pointer
dereferences (Samasth Norway Ananda)

- Make pci_bus_type constant (Kunwu Chan)

- Remove unused declarations of __pci_pme_wakeup() and pci_vpd_release()
(Yue Haibing)

- Remove any leftover .*.cmd files with make clean (zhang jiao)

- Remove unused BILLION macro (zhang jiao)

----------------------------------------------------------------
Alex Williamson (1):
PCI: Mark Creative Labs EMU20k2 INTx masking as broken

Alexandra Diupina (1):
PCI: kirin: Fix buffer overflow in kirin_pcie_parse_port()

Bjorn Helgaas (39):
PCI: endpoint: Fix enum pci_epc_bar_type kerneldoc
PCI: mediatek: Drop excess mtk_pcie.mem kerneldoc description
PCI: cadence: Drop excess cdns_pcie_rc.dev kerneldoc description
PCI: brcmstb: Sort enums, pcie_offsets[], pcie_cfg_data, .compatible strings
PCI: Wait for device readiness with Configuration RRS
PCI: aardvark: Correct Configuration RRS checking
PCI: Rename CRS Completion Status to RRS
PCI: Fix typos
Merge branch 'pci/aer'
Merge branch 'pci/crs'
Merge branch 'pci/devres'
Merge branch 'pci/enumeration'
Merge branch 'pci/hotplug'
Merge branch 'pci/iommu'
Merge branch 'pci/npem'
Merge branch 'pci/pwrctl'
Merge branch 'pci/reset'
Merge branch 'pci/sysfs'
Merge branch 'pci/dt-bindings'
Merge branch 'pci/controller/endpoint'
Merge branch 'pci/controller/affinity'
Merge branch 'pci/controller/altera'
Merge branch 'pci/controller/brcmstb'
Merge branch 'pci/controller/cadence'
Merge branch 'pci/controller/dra7xx'
Merge branch 'pci/controller/imx6'
Merge branch 'pci/controller/j721e'
Merge branch 'pci/controller/keystone'
Merge branch 'pci/controller/kirin'
Merge branch 'pci/controller/loongson'
Merge branch 'pci/controller/mediatek'
Merge branch 'pci/controller/mediatek-gen3'
Merge branch 'pci/controller/qcom'
Merge branch 'pci/controller/rcar-gen4'
Merge branch 'pci/controller/vmd'
Merge branch 'pci/controller/xilinx'
Merge branch 'pci/quirks'
Merge branch 'pci/misc'
Merge branch 'pci/tools'

Colin Ian King (1):
PCI: rcar-gen4: Make read-only const array check_addr static

Dan Carpenter (1):
PCI: keystone: Fix if-statement expression in ks_pcie_quirk()

Frank Li (11):
dt-bindings: PCI: host-generic-pci: Drop minItems and maxItems of ranges
dt-bindings: PCI: layerscape-pci: Replace fsl,lx2160a-pcie with fsl,lx2160ar2-pcie
dt-bindings: PCI: layerscape-pci: Add deprecated property 'num-viewport'
dt-bindings: PCI: layerscape-pci: Change property 'fsl,pcie-scfg' type
PCI: imx6: Fix missing call to phy_power_off() in error handling
PCI: imx6: Rename imx6_* with imx_*
PCI: imx6: Introduce SoC specific callbacks for controlling REFCLK
PCI: imx6: Simplify switch-case logic by involve core_reset callback
PCI: imx6: Improve comment for workaround ERR010728
PCI: imx6: Consolidate redundant if-checks
PCI: imx6: Call common PHY API to set mode, speed, and submode

Huacai Chen (1):
PCI/ACPI: Increase Loongson max PCI hosts to 8

Ilpo Järvinen (1):
PCI: Wait for Link before restoring Downstream Buses

Jim Quinlan (13):
dt-bindings: PCI: brcm,stb-pcie: Change brcmstb maintainer and cleanup
dt-bindings: PCI: brcm,stb-pcie: Use maxItems for reset controllers
dt-bindings: PCI: brcm,stb-pcie: Add 7712 SoC description
PCI: brcmstb: Use common error handling code in brcm_pcie_probe()
PCI: brcmstb: Use bridge reset if available
PCI: brcmstb: Use swinit reset if available
PCI: brcmstb: PCI: brcmstb: Make HARD_DEBUG, INTR2_CPU_BASE offsets SoC-specific
PCI: brcmstb: Remove two unused constants from driver
PCI: brcmstb: Don't conflate the reset rescal with PHY ctrl
PCI: brcmstb: Refactor for chips with many regular inbound windows
PCI: brcmstb: Check return value of all reset_control_* calls
PCI: brcmstb: Change field name from 'type' to 'soc_base'
PCI: brcmstb: Enable 7712 SoCs

Jinjie Ruan (2):
PCI/AER: Use PCI_DEVID() macro in aer_inject()
PCI: altera: Replace TLP_REQ_ID() with macro PCI_DEVID()

Johan Hovold (1):
dt-bindings: PCI: qcom: Allow 'vddpe-3v3-supply' again

Konrad Dybcio (1):
PCI/pwrctl: Add WCN6855 support

Krzysztof Kozlowski (3):
dt-bindings: PCI: hisilicon,kirin-pcie: Add top-level constraints
dt-bindings: PCI: renesas,pci-rcar-gen2: Add top-level constraints
dt-bindings: PCI: socionext,uniphier-pcie-ep: Add top-level constraints

Kunwu Chan (1):
PCI: Make pci_bus_type constant

Lorenzo Bianconi (4):
dt-bindings: PCI: mediatek-gen3: Add support for Airoha EN7581
PCI: mediatek-gen3: Add mtk_gen3_pcie_pdata data structure
PCI: mediatek-gen3: Rely on reset_bulk APIs for PHY reset lines
PCI: mediatek-gen3: Add Airoha EN7581 support

Lukas Wunner (1):
s390/pci: Stop usurping pdev->dev.groups

Maciej W. Rozycki (4):
PCI: Clear the LBMS bit after a link retrain
PCI: Revert to the original speed after PCIe failed link retraining
PCI: Correct error reporting with PCIe failed link retraining
PCI: Use an error code with PCIe failed link retraining

Manivannan Sadhasivam (12):
PCI: qcom-ep: Drop the redundant masking of global IRQ events
PCI: qcom-ep: Reword the error message for receiving unknown global IRQ event
dt-bindings: PCI: pci-ep: Update Maintainers
dt-bindings: PCI: pci-ep: Document 'linux,pci-domain' property
PCI: endpoint: Assign PCI domain number for endpoint controllers
PCI: qcom-ep: Modify 'global_irq' and 'perst_irq' IRQ device names
dt-bindings: PCI: qcom,pcie-sm8450: Add 'global' interrupt
PCI: qcom: Enumerate endpoints based on Link up event in 'global_irq' interrupt
PCI: qcom-ep: Enable controller resources like PHY only after refclk is available
PCI: dwc: Rename 'dw_pcie::link_gen' to 'dw_pcie::max_link_speed'
PCI: dwc: Always cache the maximum link speed value in dw_pcie::max_link_speed
PCI: Pass domain number to pci_bus_release_domain_nr() explicitly

Marek Vasut (15):
genirq/msi: Silence 'set affinity failed' warning
PCI: aardvark: Silence 'set affinity failed' warning
PCI: altera-msi: Silence 'set affinity failed' warning
PCI: brcmstb: Silence 'set affinity failed' warning
PCI: dwc: Silence 'set affinity failed' warning
PCI: mediatek-gen3: Silence 'set affinity failed' warning
PCI: mediatek: Silence 'set affinity failed' warning
PCI: mobiveil: Silence 'set affinity failed' warning
PCI: plda: Silence 'set affinity failed' warning
PCI: rcar-host: Silence 'set affinity failed' warning
PCI: tegra: Silence 'set affinity failed' warning
PCI: vmd: Silence 'set affinity failed' warning
PCI: xilinx-nwl: Silence 'set affinity failed' warning
PCI: xilinx-xdma: Silence 'set affinity failed' warning
PCI: xilinx: Silence 'set affinity failed' warning

Mariusz Tkaczyk (3):
leds: Init leds class earlier
PCI/NPEM: Add Native PCIe Enclosure Management support
PCI/NPEM: Add _DSM PCIe SSD status LED management

Matthew Gerlach (2):
dt-bindings: PCI: altera: Convert to YAML
dt-bindings: PCI: altera: msi: Convert to YAML

Philipp Stanner (4):
PCI: Make pcim_request_region() a public function
drm/vboxvideo: Add PCI region request
PCI: Deprecate pcim_iomap_regions() in favor of pcim_iomap_region()
drm/ast: Request PCI BAR with devres

Prudhvi Yarlagadda (1):
PCI: qcom: Disable mirroring of DBI and iATU register space in BAR region

Rayyan Ansari (1):
dt-bindings: PCI: qcom,pcie-sc7280: Update bindings adding eight interrupts

Richard Zhu (5):
PCI: imx6: Fix establish link failure in EP mode for i.MX8MM and i.MX8MP
PCI: imx6: Fix i.MX8MP PCIe EP's occasional failure to trigger MSI
dt-bindings: PCI: imx6q-pcie: Add i.MX8Q PCIe compatible string
PCI: imx6: Add i.MX8Q PCIe Root Complex (RC) support
dt-bindings: PCI: imx6q-pcie: Add reg-name "dbi2" and "atu" for i.MX8M PCIe Endpoint

Riyan Dhiman (1):
PCI: vmd: Fix indentation issue in vmd_shutdown()

Samasth Norway Ananda (1):
x86/PCI: Check pcie_find_root_port() return for NULL

Sean Anderson (7):
PCI: xilinx-nwl: Fix off-by-one in INTx IRQ handler
PCI: xilinx-nwl: Fix register misspelling
PCI: xilinx-nwl: Rate-limit misc interrupt messages
PCI: xilinx-nwl: Clean up clock on probe failure/removal
dt-bindings: pci: xilinx-nwl: Add phys property
PCI: xilinx-nwl: Add PHY support
arm64: zynqmp: Add PCIe phys property for ZCU102

Shashank Babu Chinta Venkata (2):
PCI: qcom: Add equalization settings for 16.0 GT/s
PCI: qcom: Add RX lane margining settings for 16.0 GT/s

Siddharth Vadapalli (4):
dt-bindings: PCI: ti,j721e-pci-host: Add ACSPCIE proxy control property
PCI: j721e: Enable ACSPCIE Refclk if "ti,syscon-acspcie-proxy-ctrl" exists
PCI: dra7xx: Fix threaded IRQ request for "dra7xx-pcie-main" IRQ
PCI: dra7xx: Fix error handling when IRQ request fails in probe

Subramanian Ananthanarayanan (1):
PCI: Add ACS quirk for Qualcomm SA8775P

Thippeswamy Havalige (2):
dt-bindings: PCI: xilinx-xdma: Add schemas for Xilinx QDMA PCIe Root Port Bridge
PCI: xilinx-xdma: Add Xilinx QDMA Root Port driver

Thomas Richard (5):
PCI: cadence: Extract link setup sequence from cdns_pcie_host_setup()
PCI: cadence: Set cdns_pcie_host_init() global
PCI: j721e: Use dev_err_probe() in the probe() function
PCI: Add T_PERST_CLK_US macro
PCI: j721e: Use T_PERST_CLK_US macro

Théo Lebrun (2):
PCI: j721e: Add reset GPIO to struct j721e_pcie
PCI: j721e: Add suspend and resume support

WangYuli (1):
PCI: Add function 0 DMA alias quirk for Glenfly Arise chip

Yoshihiro Shimoda (2):
dt-bindings: PCI: rcar-gen4-pci-host: Add R-Car V4M compatible
dt-bindings: PCI: rcar-gen4-pci-ep: Add R-Car V4M compatible

Yue Haibing (2):
PCI/PM: Remove __pci_pme_wakeup() unused declarations
PCI/VPD: Remove pci_vpd_release() unused declarations

ngn (1):
PCI: shpchp: Remove hpc_ops

weiyufeng (1):
PCI: cpqphp: Use PCI_POSSIBLE_ERROR() to check config reads

zhang jiao (2):
tools: PCI: Remove .*.cmd files with make clean
tools: PCI: Remove unused BILLION macro

Documentation/ABI/testing/sysfs-bus-pci | 72 ++
.../devicetree/bindings/pci/altera-pcie-msi.txt | 27 -
.../devicetree/bindings/pci/altera-pcie.txt | 50 -
.../bindings/pci/altr,msi-controller.yaml | 65 ++
.../bindings/pci/altr,pcie-root-port.yaml | 114 +++
.../devicetree/bindings/pci/brcm,stb-pcie.yaml | 42 +-
.../devicetree/bindings/pci/fsl,imx6q-pcie-ep.yaml | 13 +-
.../devicetree/bindings/pci/fsl,imx6q-pcie.yaml | 16 +
.../bindings/pci/fsl,layerscape-pcie.yaml | 41 +-
.../bindings/pci/hisilicon,kirin-pcie.yaml | 3 +-
.../devicetree/bindings/pci/host-generic-pci.yaml | 2 -
.../bindings/pci/mediatek-pcie-gen3.yaml | 68 +-
Documentation/devicetree/bindings/pci/pci-ep.yaml | 14 +-
.../devicetree/bindings/pci/qcom,pcie-common.yaml | 7 +-
.../devicetree/bindings/pci/qcom,pcie-ep.yaml | 1 +
.../devicetree/bindings/pci/qcom,pcie-sc7280.yaml | 27 +-
.../bindings/pci/qcom,pcie-sc8280xp.yaml | 3 -
.../devicetree/bindings/pci/qcom,pcie-sm8450.yaml | 10 +-
.../devicetree/bindings/pci/qcom,pcie.yaml | 3 +
.../devicetree/bindings/pci/rcar-gen4-pci-ep.yaml | 1 +
.../bindings/pci/rcar-gen4-pci-host.yaml | 1 +
.../bindings/pci/renesas,pci-rcar-gen2.yaml | 8 +-
.../bindings/pci/socionext,uniphier-pcie-ep.yaml | 8 +-
.../devicetree/bindings/pci/ti,j721e-pci-host.yaml | 10 +
.../devicetree/bindings/pci/xlnx,nwl-pcie.yaml | 7 +
.../devicetree/bindings/pci/xlnx,xdma-host.yaml | 36 +-
MAINTAINERS | 8 +-
arch/arm64/boot/dts/xilinx/zynqmp-zcu102-revA.dts | 1 +
arch/s390/include/asm/pci.h | 9 +-
arch/s390/pci/Makefile | 3 +-
arch/s390/pci/pci.c | 1 -
arch/s390/pci/pci_sysfs.c | 14 +-
arch/x86/pci/fixup.c | 4 +-
drivers/Makefile | 4 +-
drivers/acpi/pci_mcfg.c | 12 +
drivers/bcma/driver_pci_host.c | 10 +-
drivers/gpu/drm/ast/ast_drv.c | 12 +-
drivers/gpu/drm/vboxvideo/vbox_main.c | 4 +
drivers/pci/Kconfig | 9 +
drivers/pci/Makefile | 1 +
drivers/pci/ats.c | 4 +-
drivers/pci/controller/Kconfig | 2 +-
drivers/pci/controller/cadence/Kconfig | 2 +-
drivers/pci/controller/cadence/pci-j721e.c | 160 +++-
drivers/pci/controller/cadence/pcie-cadence-host.c | 44 +-
drivers/pci/controller/cadence/pcie-cadence.h | 13 +-
drivers/pci/controller/dwc/Kconfig | 5 +
drivers/pci/controller/dwc/Makefile | 1 +
drivers/pci/controller/dwc/pci-dra7xx.c | 11 +-
drivers/pci/controller/dwc/pci-imx6.c | 1000 +++++++++++---------
drivers/pci/controller/dwc/pci-keystone.c | 9 +-
drivers/pci/controller/dwc/pcie-designware-host.c | 12 +-
drivers/pci/controller/dwc/pcie-designware.c | 24 +-
drivers/pci/controller/dwc/pcie-designware.h | 35 +-
drivers/pci/controller/dwc/pcie-intel-gw.c | 4 +-
drivers/pci/controller/dwc/pcie-kirin.c | 4 +-
drivers/pci/controller/dwc/pcie-qcom-common.c | 78 ++
drivers/pci/controller/dwc/pcie-qcom-common.h | 14 +
drivers/pci/controller/dwc/pcie-qcom-ep.c | 41 +-
drivers/pci/controller/dwc/pcie-qcom.c | 133 ++-
drivers/pci/controller/dwc/pcie-rcar-gen4.c | 13 +-
drivers/pci/controller/dwc/pcie-spear13xx.c | 2 +-
drivers/pci/controller/dwc/pcie-tegra194.c | 37 +-
.../pci/controller/mobiveil/pcie-mobiveil-host.c | 11 +-
drivers/pci/controller/pci-aardvark.c | 74 +-
drivers/pci/controller/pci-tegra.c | 10 +-
drivers/pci/controller/pci-xgene.c | 6 +-
drivers/pci/controller/pcie-altera-msi.c | 11 +-
drivers/pci/controller/pcie-altera.c | 3 +-
drivers/pci/controller/pcie-brcmstb.c | 602 ++++++++----
drivers/pci/controller/pcie-iproc.c | 18 +-
drivers/pci/controller/pcie-mediatek-gen3.c | 193 +++-
drivers/pci/controller/pcie-mediatek.c | 12 +-
drivers/pci/controller/pcie-rcar-host.c | 10 +-
drivers/pci/controller/pcie-xilinx-dma-pl.c | 64 +-
drivers/pci/controller/pcie-xilinx-nwl.c | 150 ++-
drivers/pci/controller/pcie-xilinx.c | 9 +-
drivers/pci/controller/plda/pcie-plda-host.c | 11 +-
drivers/pci/controller/vmd.c | 17 +-
drivers/pci/devres.c | 9 +-
drivers/pci/endpoint/pci-epc-core.c | 14 +
drivers/pci/hotplug/TODO | 5 -
drivers/pci/hotplug/cpqphp_core.c | 2 +-
drivers/pci/hotplug/cpqphp_pci.c | 4 +-
drivers/pci/hotplug/s390_pci_hpc.c | 2 +-
drivers/pci/hotplug/shpchp.h | 38 +-
drivers/pci/hotplug/shpchp_core.c | 15 +-
drivers/pci/hotplug/shpchp_ctrl.c | 79 +-
drivers/pci/hotplug/shpchp_hpc.c | 63 +-
drivers/pci/iomap.c | 2 +-
drivers/pci/npem.c | 595 ++++++++++++
drivers/pci/pci-bridge-emul.c | 4 +-
drivers/pci/pci-driver.c | 2 +-
drivers/pci/pci-sysfs.c | 5 +
drivers/pci/pci.c | 75 +-
drivers/pci/pci.h | 46 +-
drivers/pci/pcie/aer_inject.c | 4 +-
drivers/pci/probe.c | 37 +-
drivers/pci/pwrctl/pci-pwrctl-pwrseq.c | 5 +
drivers/pci/quirks.c | 39 +-
drivers/pci/remove.c | 4 +-
include/linux/bcma/bcma_driver_pci.h | 2 +-
include/linux/msi.h | 2 +
include/linux/pci-epc.h | 3 +
include/linux/pci.h | 11 +-
include/linux/pci_ids.h | 2 +
include/uapi/linux/pci_regs.h | 41 +-
kernel/irq/msi.c | 2 +-
sound/pci/hda/hda_intel.c | 2 +-
tools/pci/Makefile | 2 +-
tools/pci/pcitest.c | 2 -
111 files changed, 3369 insertions(+), 1339 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/pci/altera-pcie-msi.txt
delete mode 100644 Documentation/devicetree/bindings/pci/altera-pcie.txt
create mode 100644 Documentation/devicetree/bindings/pci/altr,msi-controller.yaml
create mode 100644 Documentation/devicetree/bindings/pci/altr,pcie-root-port.yaml
create mode 100644 drivers/pci/controller/dwc/pcie-qcom-common.c
create mode 100644 drivers/pci/controller/dwc/pcie-qcom-common.h
create mode 100644 drivers/pci/npem.c