[GIT PULL] PCI changes for v5.16

From: Bjorn Helgaas
Date: Fri Nov 05 2021 - 13:00:21 EST


The following changes since commit e4e737bb5c170df6135a127739a9e6148ee3da82:

Linux 5.15-rc2 (2021-09-19 17:28:22 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git tags/pci-v5.16-changes

for you to fetch changes up to dda4b381f05d447a0ae31e2e44aeb35d313a311f:

Merge branch 'remotes/lorenzo/pci/xgene' (2021-11-05 11:28:53 -0500)

----------------------------------------------------------------

I don't think you'll see any conflicts, but you will see an apple-dart.c
build failure unless you add the patch below. b2b2781a9755 ("iommu/dart:
Clean up IOVA cookie crumbs") removed an #include that is now required
again by 946d619fa25f ("iommu/dart: Exclude MSI doorbell from PCIe device
IOVA range")

diff --git a/drivers/iommu/apple-dart.c b/drivers/iommu/apple-dart.c
index b7265a8e9540..565ef5598811 100644
--- a/drivers/iommu/apple-dart.c
+++ b/drivers/iommu/apple-dart.c
@@ -15,6 +15,7 @@
#include <linux/bitfield.h>
#include <linux/clk.h>
#include <linux/dev_printk.h>
+#include <linux/dma-iommu.h>
#include <linux/dma-mapping.h>
#include <linux/err.h>
#include <linux/interrupt.h>

----------------------------------------------------------------

Enumeration:
- Conserve IRQs by setting up portdrv IRQs only when there are users (Jan
Kiszka)
- Rework and simplify _OSC negotiation for control of PCIe features
(Joerg Roedel)
- Remove struct pci_dev.driver pointer since it's redundant with the
struct device.driver pointer (Uwe Kleine-König)

Resource management:
- Coalesce contiguous host bridge apertures from _CRS to accommodate BARs
that cover more than one aperture (Kai-Heng Feng)

Sysfs:
- Check CAP_SYS_ADMIN before parsing user input (Krzysztof Wilczyński)
- Return -EINVAL consistently from "store" functions (Krzysztof
Wilczyński)
- Use sysfs_emit() in endpoint "show" functions to avoid buffer overruns
(Kunihiko Hayashi)

PCIe native device hotplug:
- Ignore Link Down/Up caused by resets during error recovery so endpoint
drivers can remain bound to the device (Lukas Wunner)

Virtualization:
- Avoid bus resets on Atheros QCA6174, where they hang the device (Ingmar
Klein)
- Work around Pericom PI7C9X2G switch packet drop erratum by using store
and forward mode instead of cut-through (Nathan Rossi)
- Avoid trying to enable AtomicOps on VFs; the PF setting applies to all
VFs (Selvin Xavier)

MSI:
- Document that /sys/bus/pci/devices/.../irq contains the legacy INTx
interrupt or the IRQ of the first MSI (not MSI-X) vector (Barry Song)

VPD:
- Add pci_read_vpd_any() and pci_write_vpd_any() to access anywhere in
the possible VPD space; use these to simplify the cxgb3 driver (Heiner
Kallweit)

Peer-to-peer DMA:
- Add (not subtract) the bus offset when calculating DMA address (Wang
Lu)

ASPM:
- Re-enable LTR at Downstream Ports so they don't report Unsupported
Requests when reset or hot-added devices send LTR messages (Mingchuang
Qiao)

Apple PCIe controller driver:
- Add driver for Apple M1 PCIe controller (Alyssa Rosenzweig, Marc
Zyngier)

Cadence PCIe controller driver:
- Return success when probe succeeds instead of falling into error path
(Li Chen)

HiSilicon Kirin PCIe controller driver:
- Reorganize PHY logic and add support for external PHY drivers (Mauro
Carvalho Chehab)
- Support PERST# GPIOs for HiKey970 external PEX 8606 bridge (Mauro
Carvalho Chehab)
- Add Kirin 970 support (Mauro Carvalho Chehab)
- Make driver removable (Mauro Carvalho Chehab)

Intel VMD host bridge driver:
- If IOMMU supports interrupt remapping, leave VMD MSI-X remapping
enabled (Adrian Huang)
- Number each controller so we can tell them apart in /proc/interrupts
(Chunguang Xu)
- Avoid building on UML because VMD depends on x86 bare metal APIs
(Johannes Berg)

Marvell Aardvark PCIe controller driver:
- Define macros for PCI_EXP_DEVCTL_PAYLOAD_* (Pali Rohár)
- Set Max Payload Size to 512 bytes per Marvell spec (Pali Rohár)
- Downgrade PIO Response Status messages to debug level (Marek Behún)
- Preserve CRS SV (Config Request Retry Software Visibility) bit in
emulated Root Control register (Pali Rohár)
- Fix issue in configuring reference clock (Pali Rohár)
- Don't clear status bits for masked interrupts (Pali Rohár)
- Don't mask unused interrupts (Pali Rohár)
- Avoid code repetition in advk_pcie_rd_conf() (Marek Behún)
- Retry config accesses on CRS response (Pali Rohár)
- Simplify emulated Root Capabilities initialization (Pali Rohár)
- Fix several link training issues (Pali Rohár)
- Fix link-up checking via LTSSM (Pali Rohár)
- Fix reporting of Data Link Layer Link Active (Pali Rohár)
- Fix emulation of W1C bits (Marek Behún)
- Fix MSI domain .alloc() method to return zero on success (Marek Behún)
- Read entire 16-bit MSI vector in MSI handler, not just low 8 bits (Marek
Behún)
- Clear Root Port I/O Space, Memory Space, and Bus Master Enable bits at
startup; PCI core will set those as necessary (Pali Rohár)
- When operating as a Root Port, set class code to "PCI Bridge" instead of
the default "Mass Storage Controller" (Pali Rohár)
- Add emulation for PCI_BRIDGE_CTL_BUS_RESET since aardvark doesn't
implement this per spec (Pali Rohár)
- Add emulation of option ROM BAR since aardvark doesn't implement this per
spec (Pali Rohár)

MediaTek MT7621 PCIe controller driver:
- Add MediaTek MT7621 PCIe host controller driver and DT binding (Sergio
Paracuellos)

Qualcomm PCIe controller driver:
- Add SC8180x compatible string (Bjorn Andersson)
- Add endpoint controller driver and DT binding (Manivannan Sadhasivam)
- Restructure to use of_device_get_match_data() (Prasad Malisetty)
- Add SC7280-specific pcie_1_pipe_clk_src handling (Prasad Malisetty)

Renesas R-Car PCIe controller driver:
- Remove unnecessary includes (Geert Uytterhoeven)

Rockchip DesignWare PCIe controller driver:
- Add DT binding (Simon Xue)

Socionext UniPhier Pro5 controller driver:
- Serialize INTx masking/unmasking (Kunihiko Hayashi)

Synopsys DesignWare PCIe controller driver:
- Run dwc .host_init() method before registering MSI interrupt handler so
we can deal with pending interrupts left by bootloader (Bjorn
Andersson)
- Clean up Kconfig dependencies (Andy Shevchenko)
- Export symbols to allow more modular drivers (Luca Ceresoli)

TI DRA7xx PCIe controller driver:
- Allow host and endpoint drivers to be modules (Luca Ceresoli)
- Enable external clock if present (Luca Ceresoli)

TI J721E PCIe driver:
- Disable PHY when probe fails after initializing it (Christophe JAILLET)

MicroSemi Switchtec management driver:
- Return error to application when command execution fails because an
out-of-band reset has cleared the device BARs, Memory Space Enable, etc
(Kelvin Cao)
- Fix MRPC error status handling issue (Kelvin Cao)
- Mask out other bits when reading of management VEP instance ID (Kelvin
Cao)
- Return EOPNOTSUPP instead of ENOTSUPP from sysfs show functions (Kelvin
Cao)
- Add check of event support (Logan Gunthorpe)

Miscellaneous:
- Remove unused pci_pool wrappers, which have been replaced by dma_pool
(Cai Huoqing)
- Use 'unsigned int' instead of bare 'unsigned' (Krzysztof Wilczyński)
- Use kstrtobool() directly, sans strtobool() wrapper (Krzysztof
Wilczyński)
- Fix some sscanf(), sprintf() format mismatches (Krzysztof Wilczyński)
- Update PCI subsystem information in MAINTAINERS (Krzysztof Wilczyński)
- Correct some misspellings (Krzysztof Wilczyński)

----------------------------------------------------------------
Adrian Huang (1):
PCI: vmd: Do not disable MSI-X remapping if interrupt remapping is enabled by IOMMU

Alyssa Rosenzweig (2):
PCI: apple: Add initial hardware bring-up
PCI: apple: Set up reference clocks when probing

Andy Shevchenko (2):
PCI: dwc: Clean up Kconfig dependencies (PCIE_DW_HOST)
PCI: dwc: Clean up Kconfig dependencies (PCIE_DW_EP)

Barry Song (2):
PCI: Document /sys/bus/pci/devices/.../irq
PCI/sysfs: Explicitly show first MSI IRQ for 'irq'

Bjorn Andersson (2):
PCI: dwc: Perform host_init() before registering msi
PCI: qcom: Add sc8180x compatible

Bjorn Helgaas (30):
PCI: Return NULL for to_pci_driver(NULL)
PCI/ERR: Factor out common dev->driver expressions
cxl: Factor out common dev->driver expressions
Merge branch 'pci/acpi'
Merge branch 'pci/aspm'
Merge branch 'pci/enumeration'
Merge branch 'pci/driver'
Merge branch 'pci/hotplug'
Merge branch 'pci/msi'
Merge branch 'pci/p2pdma'
Merge branch 'pci/portdrv'
Merge branch 'pci/resource'
Merge branch 'pci/switchtec'
Merge branch 'pci/sysfs'
Merge branch 'pci/virtualization'
Merge branch 'pci/vpd'
Merge branch 'pci/misc'
Merge branch 'remotes/lorenzo/pci/aardvark'
Merge branch 'pci/host/apple'
Merge branch 'pci/host/cadence'
Merge branch 'remotes/lorenzo/pci/dt'
Merge branch 'pci/host/dwc'
Merge branch 'remotes/lorenzo/pci/endpoint'
Merge branch 'remotes/lorenzo/pci/imx6'
Merge branch 'pci/host/kirin'
Merge branch 'pci/host/mt7621'
Merge branch 'remotes/lorenzo/pci/qcom'
Merge branch 'pci/host/rcar'
Merge branch 'remotes/lorenzo/pci/vmd'
Merge branch 'remotes/lorenzo/pci/xgene'

Cai Huoqing (1):
PCI: Remove unused pci_pool wrappers

Christophe JAILLET (1):
PCI: j721e: Fix j721e_pcie_probe() error path

Chunguang Xu (1):
PCI: vmd: Assign a number to each VMD controller

Colin Ian King (1):
PCI: Remove redundant 'rc' initialization

Geert Uytterhoeven (2):
PCI: rcar-ep: Remove unneeded includes
PCI: rcar-host: Remove unneeded includes

Heiner Kallweit (5):
PCI/VPD: Add pci_read/write_vpd_any()
PCI/VPD: Use pci_read_vpd_any() in pci_vpd_size()
cxgb3: Remove t3_seeprom_read and use VPD API
cxgb3: Use VPD API in t3_seeprom_wp()
cxgb3: Remove seeprom_write and use VPD API

Ingmar Klein (1):
PCI: Mark Atheros QCA6174 to avoid bus reset

Jan Kiszka (1):
PCI/portdrv: Do not setup up IRQs if there are no users

Joerg Roedel (4):
PCI/ACPI: Remove OSC_PCI_SUPPORT_MASKS and OSC_PCI_CONTROL_MASKS
PCI/ACPI: Move supported and control calculations to separate functions
PCI/ACPI: Move _OSC query checks to separate function
PCI/ACPI: Check for _OSC support in acpi_pci_osc_control_set()

Johannes Berg (1):
PCI: vmd: depend on !UML

Kai-Heng Feng (1):
PCI: Coalesce host bridge contiguous apertures

Kelvin Cao (4):
PCI/switchtec: Error out MRPC execution when MMIO reads fail
PCI/switchtec: Fix a MRPC error status handling issue
PCI/switchtec: Update the way of getting management VEP instance ID
PCI/switchtec: Replace ENOTSUPP with EOPNOTSUPP

Krzysztof Wilczyński (13):
PCI/sysfs: Check CAP_SYS_ADMIN before parsing user input
PCI/sysfs: Return -EINVAL consistently from "store" functions
PCI: Use kstrtobool() directly, sans strtobool() wrapper
PCI: imx6: Remove unused assignment to variable ret
PCI: visconti: Remove surplus dev_err() when using platform_get_irq_byname()
PCI: Correct misspelled and remove duplicated words
PCI: hv: Remove unnecessary use of %hx
PCI: Use unsigned to match sscanf("%x") in pci_dev_str_match_path()
PCI: cpqphp: Format if-statement code block correctly
PCI: Prefer 'unsigned int' over bare 'unsigned'
MAINTAINERS: Update PCI subsystem information
PCI: cpqphp: Use <linux/io.h> instead of <asm/io.h>
PCI: vmd: Drop redundant includes of <asm/device.h>, <asm/msi.h>

Kunihiko Hayashi (2):
PCI: endpoint: Use sysfs_emit() in "show" functions
PCI: uniphier: Serialize INTx masking/unmasking and fix the bit operation

Li Chen (1):
PCI: cadence: Add cdns_plat_pcie_probe() missing return

Logan Gunthorpe (1):
PCI/switchtec: Add check of event support

Luca Ceresoli (4):
PCI: dwc: Export more symbols to allow modular drivers
PCI: dra7xx: Make it a kernel module
PCI: dra7xx: Remove unused include
PCI: dra7xx: Get an optional clock

Lukas Wunner (5):
PCI/portdrv: Rename pm_iter() to pcie_port_device_iter()
PCI: pciehp: Ignore Link Down/Up caused by error-induced Hot Reset
PCI/portdrv: Remove unused resume err_handler
PCI/portdrv: Remove unused pcie_port_bus_{,un}register() declarations
PCI/ERR: Reduce compile time for CONFIG_PCIEAER=n

Manivannan Sadhasivam (3):
dt-bindings: PCI: Add Qualcomm PCIe Endpoint controller
PCI: qcom-ep: Add Qualcomm PCIe Endpoint controller driver
MAINTAINERS: Add entry for Qualcomm PCIe Endpoint driver and binding

Marc Zyngier (7):
irqdomain: Make of_phandle_args_to_fwspec() generally available
of/irq: Allow matching of an interrupt-map local to an interrupt controller
PCI: of: Allow matching of an interrupt-map local to a PCI device
PCI: apple: Add INTx and per-port interrupt support
PCI: apple: Implement MSI support
iommu/dart: Exclude MSI doorbell from PCIe device IOVA range
PCI: apple: Configure RID to SID mapper on device addition

Marek Behún (5):
PCI: aardvark: Don't spam about PIO Response Status
PCI: aardvark: Deduplicate code in advk_pcie_rd_conf()
PCI: pci-bridge-emul: Fix emulation of W1C bits
PCI: aardvark: Fix return value of MSI domain .alloc() method
PCI: aardvark: Read all 16-bits from PCIE_MSI_PAYLOAD_REG

Mauro Carvalho Chehab (12):
PCI: kirin: Reorganize the PHY logic inside the driver
PCI: kirin: Add support for a PHY layer
PCI: kirin: Use regmap for APB registers
PCI: kirin: Support PERST# GPIOs for HiKey970 external PEX 8606 bridge
PCI: kirin: Add Kirin 970 compatible
PCI: kirin: Add MODULE_* macros
PCI: kirin: Allow building it as a module
PCI: kirin: Add power_off support for Kirin 960 PHY
PCI: kirin: Move the power-off code to a common routine
PCI: kirin: Disable clkreq during poweroff sequence
PCI: kirin: De-init the dwc driver
PCI: kirin: Allow removing the driver

Mingchuang Qiao (1):
PCI: Re-enable Downstream Port LTR after reset or hotplug

Nathan Rossi (1):
PCI: Add ACS quirk for Pericom PI7C9X2G switches

Oliver O'Halloran (1):
PCI: Rename pcibios_add_device() to pcibios_device_add()

Pali Rohár (16):
PCI: xgene: Use PCI_VENDOR_ID_AMCC macro
PCI: Add PCI_EXP_DEVCTL_PAYLOAD_* macros
PCI: aardvark: Fix PCIe Max Payload Size setting
PCI: aardvark: Fix preserving PCI_EXP_RTCTL_CRSSVE flag on emulated bridge
PCI: aardvark: Fix configuring Reference clock
PCI: aardvark: Do not clear status bits of masked interrupts
PCI: aardvark: Do not unmask unused interrupts
PCI: aardvark: Implement re-issuing config requests on CRS response
PCI: aardvark: Simplify initialization of rootcap on virtual bridge
PCI: aardvark: Fix link training
PCI: aardvark: Fix checking for link up via LTSSM state
PCI: aardvark: Fix reporting Data Link Layer Link Active
PCI: aardvark: Fix support for bus mastering and PCI_COMMAND on emulated bridge
PCI: aardvark: Set PCI Bridge Class Code to PCI Bridge
PCI: aardvark: Fix support for PCI_BRIDGE_CTL_BUS_RESET on emulated bridge
PCI: aardvark: Fix support for PCI_ROM_ADDRESS1 on emulated bridge

Pranay Sanghai (1):
PCI: Tidy comments

Prasad Malisetty (2):
PCI: qcom: Replace ops with struct pcie_cfg in pcie match data
PCI: qcom: Switch pcie_1_pipe_clk_src after PHY init in SC7280

Selvin Xavier (1):
PCI: Do not enable AtomicOps on VFs

Sergio Paracuellos (3):
dt-bindings: PCI: Add MT7621 SoC PCIe host controller
PCI: mt7621: Add MediaTek MT7621 PCIe host controller driver
MAINTAINERS: Add Sergio Paracuellos as MT7621 PCIe maintainer

Simon Xue (1):
dt-bindings: rockchip: Add DesignWare based PCIe controller

Uwe Kleine-König (21):
PCI: Drop pci_device_remove() test of pci_dev->driver
PCI: Drop pci_device_probe() test of !pci_dev->driver
scsi: message: fusion: Remove unused mpt_pci driver .probe() 'id' parameter
crypto: qat - simplify adf_enable_aer()
bcma: simplify reference to driver name
ssb: Use dev_driver_string() instead of pci_dev->driver->name
powerpc/eeh: Use dev_driver_string() instead of struct pci_dev->driver->name
crypto: hisilicon - use dev_driver_string() instead of pci_dev->driver->name
net: hns3: use dev_driver_string() instead of pci_dev->driver->name
net: marvell: prestera: use dev_driver_string() instead of pci_dev->driver->name
mlxsw: pci: Use dev_driver_string() instead of pci_dev->driver->name
nfp: use dev_driver_string() instead of pci_dev->driver->name
xen/pcifront: Drop pcifront_common_process() tests of pcidev, pdrv
xen/pcifront: Use to_pci_driver() instead of pci_dev->driver
cxl: Use to_pci_driver() instead of pci_dev->driver
usb: xhci: Use to_pci_driver() instead of pci_dev->driver
powerpc/eeh: Use to_pci_driver() instead of pci_dev->driver
perf/x86/intel/uncore: Use to_pci_driver() instead of pci_dev->driver
x86/pci/probe_roms: Use to_pci_driver() instead of pci_dev->driver
PCI: Use to_pci_driver() instead of pci_dev->driver
PCI: Remove struct pci_dev->driver

Wang Lu (1):
PCI/P2PDMA: Apply bus offset correctly in DMA address calculation

Documentation/ABI/testing/sysfs-bus-pci | 11 +
.../bindings/pci/mediatek,mt7621-pcie.yaml | 142 ++++
.../devicetree/bindings/pci/qcom,pcie-ep.yaml | 158 ++++
.../devicetree/bindings/pci/qcom,pcie.txt | 5 +-
.../devicetree/bindings/pci/rockchip-dw-pcie.yaml | 141 ++++
MAINTAINERS | 40 +-
arch/microblaze/pci/pci-common.c | 3 +-
arch/mips/ralink/Kconfig | 3 +-
arch/powerpc/include/asm/ppc-pci.h | 5 -
arch/powerpc/kernel/eeh.c | 8 +
arch/powerpc/kernel/eeh_driver.c | 10 +-
arch/powerpc/kernel/pci-common.c | 2 +-
arch/powerpc/platforms/powernv/pci-sriov.c | 2 +-
arch/s390/pci/pci.c | 2 +-
arch/sparc/kernel/pci.c | 2 +-
arch/x86/events/intel/uncore.c | 2 +-
arch/x86/kernel/probe_roms.c | 2 +-
arch/x86/pci/common.c | 2 +-
drivers/acpi/pci_root.c | 161 ++--
drivers/bcma/host_pci.c | 6 +-
drivers/crypto/hisilicon/qm.c | 2 +-
drivers/crypto/qat/qat_4xxx/adf_drv.c | 7 +-
drivers/crypto/qat/qat_c3xxx/adf_drv.c | 7 +-
drivers/crypto/qat/qat_c62x/adf_drv.c | 7 +-
drivers/crypto/qat/qat_common/adf_aer.c | 10 +-
drivers/crypto/qat/qat_common/adf_common_drv.h | 3 +-
drivers/crypto/qat/qat_dh895xcc/adf_drv.c | 7 +-
drivers/iommu/apple-dart.c | 27 +
drivers/message/fusion/mptbase.c | 7 +-
drivers/message/fusion/mptbase.h | 2 +-
drivers/message/fusion/mptctl.c | 4 +-
drivers/message/fusion/mptlan.c | 2 +-
drivers/misc/cxl/guest.c | 30 +-
drivers/misc/cxl/pci.c | 35 +-
drivers/net/ethernet/chelsio/cxgb3/common.h | 2 -
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c | 38 +-
drivers/net/ethernet/chelsio/cxgb3/t3_hw.c | 98 +--
drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c | 2 +-
.../net/ethernet/marvell/prestera/prestera_pci.c | 2 +-
drivers/net/ethernet/mellanox/mlxsw/pci.c | 2 +-
.../net/ethernet/netronome/nfp/nfp_net_ethtool.c | 3 +-
drivers/of/irq.c | 17 +-
drivers/pci/controller/Kconfig | 28 +-
drivers/pci/controller/Makefile | 3 +
drivers/pci/controller/cadence/pci-j721e.c | 2 +-
drivers/pci/controller/cadence/pcie-cadence-plat.c | 2 +
drivers/pci/controller/dwc/Kconfig | 30 +-
drivers/pci/controller/dwc/Makefile | 1 +
drivers/pci/controller/dwc/pci-dra7xx.c | 22 +-
drivers/pci/controller/dwc/pci-imx6.c | 2 +-
drivers/pci/controller/dwc/pcie-designware-ep.c | 3 +
drivers/pci/controller/dwc/pcie-designware-host.c | 19 +-
drivers/pci/controller/dwc/pcie-designware.c | 1 +
drivers/pci/controller/dwc/pcie-kirin.c | 644 ++++++++++++----
drivers/pci/controller/dwc/pcie-qcom-ep.c | 721 ++++++++++++++++++
drivers/pci/controller/dwc/pcie-qcom.c | 96 ++-
drivers/pci/controller/dwc/pcie-uniphier.c | 26 +-
drivers/pci/controller/dwc/pcie-visconti.c | 5 +-
drivers/pci/controller/pci-aardvark.c | 493 +++++++-----
drivers/pci/controller/pci-hyperv.c | 4 +-
drivers/pci/controller/pci-thunder-ecam.c | 4 +-
drivers/pci/controller/pci-xgene-msi.c | 2 +-
drivers/pci/controller/pci-xgene.c | 3 +-
drivers/pci/controller/pcie-apple.c | 824 +++++++++++++++++++++
drivers/pci/controller/pcie-brcmstb.c | 2 +-
drivers/pci/controller/pcie-iproc.c | 2 +-
.../pci-mt7621.c => pci/controller/pcie-mt7621.c} | 24 +-
drivers/pci/controller/pcie-rcar-ep.c | 5 +-
drivers/pci/controller/pcie-rcar-host.c | 2 -
drivers/pci/controller/vmd.c | 47 +-
drivers/pci/endpoint/functions/pci-epf-ntb.c | 22 +-
drivers/pci/endpoint/pci-ep-cfs.c | 48 +-
drivers/pci/endpoint/pci-epc-core.c | 2 +-
drivers/pci/endpoint/pci-epf-core.c | 4 +-
drivers/pci/hotplug/acpiphp_glue.c | 2 +-
drivers/pci/hotplug/cpqphp.h | 2 +-
drivers/pci/hotplug/cpqphp_ctrl.c | 4 +-
drivers/pci/hotplug/cpqphp_pci.c | 6 +-
drivers/pci/hotplug/ibmphp.h | 4 +-
drivers/pci/hotplug/pciehp.h | 2 +
drivers/pci/hotplug/pciehp_core.c | 2 +
drivers/pci/hotplug/pciehp_hpc.c | 26 +
drivers/pci/hotplug/shpchp_hpc.c | 2 +-
drivers/pci/iov.c | 38 +-
drivers/pci/msi.c | 3 +-
drivers/pci/of.c | 10 +-
drivers/pci/p2pdma.c | 8 +-
drivers/pci/pci-bridge-emul.c | 13 +
drivers/pci/pci-driver.c | 57 +-
drivers/pci/pci-sysfs.c | 51 +-
drivers/pci/pci.c | 65 +-
drivers/pci/pci.h | 1 +
drivers/pci/pcie/Makefile | 4 +-
drivers/pci/pcie/aer.c | 2 +-
drivers/pci/pcie/aspm.c | 4 +-
drivers/pci/pcie/err.c | 40 +-
drivers/pci/pcie/portdrv.h | 6 +-
drivers/pci/pcie/portdrv_core.c | 67 +-
drivers/pci/pcie/portdrv_pci.c | 27 +-
drivers/pci/probe.c | 62 +-
drivers/pci/quirks.c | 70 +-
drivers/pci/rom.c | 2 +-
drivers/pci/setup-bus.c | 2 +-
drivers/pci/setup-irq.c | 26 +-
drivers/pci/switch/switchtec.c | 95 ++-
drivers/pci/vpd.c | 113 +--
drivers/pci/xen-pcifront.c | 56 +-
drivers/ssb/pcihost_wrapper.c | 6 +-
drivers/staging/Kconfig | 2 -
drivers/staging/Makefile | 1 -
drivers/staging/mt7621-pci/Kconfig | 8 -
drivers/staging/mt7621-pci/Makefile | 2 -
drivers/staging/mt7621-pci/TODO | 4 -
drivers/staging/mt7621-pci/mediatek,mt7621-pci.txt | 104 ---
drivers/usb/host/xhci-pci.c | 2 +-
include/linux/acpi.h | 2 -
include/linux/irqdomain.h | 4 +
include/linux/pci.h | 21 +-
include/linux/switchtec.h | 1 +
include/uapi/linux/pci_regs.h | 6 +
kernel/irq/irqdomain.c | 7 +-
121 files changed, 3954 insertions(+), 1202 deletions(-)
create mode 100644 Documentation/devicetree/bindings/pci/mediatek,mt7621-pcie.yaml
create mode 100644 Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml
create mode 100644 Documentation/devicetree/bindings/pci/rockchip-dw-pcie.yaml
create mode 100644 drivers/pci/controller/dwc/pcie-qcom-ep.c
create mode 100644 drivers/pci/controller/pcie-apple.c
rename drivers/{staging/mt7621-pci/pci-mt7621.c => pci/controller/pcie-mt7621.c} (95%)
delete mode 100644 drivers/staging/mt7621-pci/Kconfig
delete mode 100644 drivers/staging/mt7621-pci/Makefile
delete mode 100644 drivers/staging/mt7621-pci/TODO
delete mode 100644 drivers/staging/mt7621-pci/mediatek,mt7621-pci.txt