[GIT PULL] PCI changes for v7.2

From: Bjorn Helgaas

Date: Wed Jun 24 2026 - 07:00:35 EST


The following changes since commit 254f49634ee16a731174d2ae34bc50bd5f45e731:

Linux 7.1-rc1 (2026-04-26 14:19:00 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git tags/pci-v7.2-changes

for you to fetch changes up to 2c2fb7a8aa10e9ca7f2a49d426469ec89e3b267a:

Merge branch 'pci/misc' (2026-06-23 17:32:24 -0500)

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

Enumeration:

- Remove MPS/MRRS Kconfig settings (CONFIG_PCIE_BUS_*) that worked around
a WiFi device defect; use a quirk or boot-time "pci=pcie_bus_tune_*"
kernel parameter instead (Bjorn Helgaas)

- Always lift 2.5GT/s restriction in PCIe failed link retraining to avoid
clamping a link to 2.5GT/s after hot-plug changes the device (Maciej W.
Rozycki)

- Request bus reassignment when not probe-only to fix an enumeration
regression on Marvell CN106XX and possibly other DT-based systems
(Ratheesh Kannoth)

- Fix procfs race between pci_proc_init() and pci_bus_add_device() that
resulted in 'proc_dir_entry ... already registered' warnings and
pointer corruption (Krzysztof Wilczyński)

- Fix sysfs race that causes 'duplicate filename' warnings and boot
panics by converting PCI resource files to static attributes (Krzysztof
Wilczyński)

- Expose sysfs 'resourceN_resize' attributes only on platforms with PCI
mmap (Krzysztof Wilczyński)

- Require CAP_SYS_ADMIN to write to sysfs 'resourceN_resize' attributes
(Krzysztof Wilczyński)

- Add security_locked_down(LOCKDOWN_PCI_ACCESS) to alpha PCI resource
mmap path to match the generic path (Krzysztof Wilczyński)

- Use kstrtobool() to parse the 'rom' attribute input to avoid the
unexpected behavior of enabling the ROM when writing '0' with no
trailing newline (Krzysztof Wilczyński)

Resource management:

- Improve resource claim logging for debuggability (Ilpo Järvinen)

- Clean up several uses of const parameters (Ilpo Järvinen)

- Check option ROM header signatures and lengths before accessing to
avoid page faults and alignment faults (Guixin Liu)

ASPM:

- Don't reconfigure ASPM when entering low-power D-state; only do it when
returning back to D0 (Carlos Bilbao)

Power management:

- During suspend, set power state to 'unknown' for all devices, not just
those with drivers (Lukas Wunner)

- Skip restoring Resizable BARs and VF Resizable BARs if device doesn't
respond to config reads, to avoid invalid array accesses (Marco
Nenciarini)

- Add pci_suspend_retains_context() so drivers can tell whether devices
retain internal state across suspend/resume, since some platforms reset
devices on suspend; use this in nvme to avoid issues on Qcom RCs
(Manivannan Sadhasivam)

Power control:

- Only to power on/off devices that actually support power control to
avoid poking at incompatible devices mentioned in DT (Manivannan
Sadhasivam)

Virtualization and resets:

- Log device readiness timeouts as errors, not warnings, because the
device is likely unusable in this case (Bjorn Helgaas)

- Wait for device readiness after soft reset (D3hot -> D0uninitialized
transition), when the device may respond with Request Retry Status
(RRS) if it needs more time to initialize (Bjorn Helgaas)

- Drop unnecessary retries when restoring BARs because resets should now
already include all required delays (Lukas Wunner)

- Avoid FLR for MediaTek MT7925 WiFi, where FLR fails after a VM
terminates uncleanly (Jose Ignacio Tornos Martinez)

- Avoid SBR for Qualcomm WCN6855/WCN7850 WiFi, SDX62/SDX65 modems, which
seem not to support it correctly (Jose Ignacio Tornos Martinez)

Peer-to-peer DMA:

- Prevent P2PDMA as well as CPU access to non-mappable BARs, e.g., s390
ISM BARs (Matt Evans)

- Add Intel QAT, DSA, IAA devices to whitelist (Lukas Wunner)

Endpoint framework:

- Add endpoint controller APIs for use by function drivers to discover
auxiliary blocks like DMA engines (Koichiro Den)

- Remember DesignWare eDMA engine base/size and expose them via the EPC
aux-resource API (Koichiro Den)

- Add endpoint embedded doorbell fallback, used if MSI allocation fails
(Koichiro Den)

- Validate BAR index and remove dead BAR read in endpoint doorbell test
(Carlos Bilbao)

- Unwind MSI/MSI-X vectors if NTB initialization fails part-way through
(Koichiro Den)

- Cache sleepable pci_irq_vector() value at ISR setup to avoid calling it
from hardirq context (Koichiro Den)

- Call sleepable pci_epc_raise_irq() from a work item instead of atomic
context, e.g., when setting bits in NTB peer doorbells in the
ntb_peer_db_set() path (Koichiro Den)

- Report 0-based vNTB doorbell vector to account for link event 0 and
historically skipped slot 1 (Koichiro Den)

- Prevent configfs writes to vNTB db_count and other values that are
already in use after EPC attach (Koichiro Den)

- Account for vNTB db_valid reserved slots (link event 0 and historically
skipped slot 1) so they don't appear as valid doorbells (Koichiro Den)

- Implement vNTB .db_vector_count()/mask() for doorbells so clients can
use multiple vectors and avoid thundering herds (Koichiro Den)

- Report 0-based NTB doorbell vector to account for link event 0 and
historically skipped slot 1 (Koichiro Den)

- Fix doorbell bitmask and IRQ vector handling to clear only specified
bits, use the correct vector for non-contiguous Linux IRQ numbers, and
validate incoming vectors (Koichiro Den)

- Implement NTB .db_vector_count()/mask() for doorbells so clients can
use multiple vectors (Koichiro Den)

Native PCIe controller infrastructure:

- Add pci_host_common_link_train_delay() for the mandatory delay after
> 5GT/s Link training completes and use it for cadence HPA, j721e, LGA;
dwc; aardvark, mediatek-gen3, rzg3s (Hans Zhang)

- Protect root bus removal with rescan lock in altera, brcmstb, cadence,
dwc, iproc, mediatek, plda, rockchip to prevent use-after-free or
crashes when racing with sysfs rescan or hotplug (Hans Zhang)

- Add pci_host_common_parse_ports() for use by any native driver to parse
Root Port properties (per-Link features like width, speed, PHY, power
and reset control, etc should be described in Root Port stanzas, not
the host bridge; currently only reset GPIOs implemented) (Sherry Sun)

New native PCIe controller drivers:

- Add DT binding and driver for UltraRISC DP1000 PCIe controller
(Xincheng Zhang, Jia Wang)

Altera PCIe controller driver:

- Do not dispose of the parent IRQ mapping, which belongs to the parent
interrupt controller (Mahesh Vaidya)

- Fix chained IRQ handler ordering issue and resource leaks on probe
failure (Mahesh Vaidya)

AMD MDB PCIe controller driver:

- Assert PERST# on shutdown so any connected Endpoints are held in reset
during shutdown (Sai Krishna Musham)

Amlogic Meson PCIe controller driver:

- Propagate devm_add_action_or_reset() failure to fix probe error path
(Shuvam Pandey)

- Add .remove() callback to deinitialize the host bridge and power off
the PHY (Shuvam Pandey)

Broadcom iProc PCIe controller driver:

- Restore .map_irq() assignment; its removal broke INTx on the iproc
platform bus driver (Mark Tomlinson)

Broadcom STB PCIe controller driver:

- No change, but products using certain WiFi devices may be affected by
removal of CONFIG_PCIE_BUS_* (see above)

Freescale i.MX6 PCIe controller driver:

- Move IMX6SX_GPR12_PCIE_TEST_POWERDOWN handling into the core reset
functions (Richard Zhu)

- Assert PERST# before enabling regulators to ensure that even if power
is enabled, endpoint stays inactive until REFCLK is stable (Sherry Sun)

- Parse reset properties in Root Port nodes (falling back to host bridge)
to help support Key E connectors and the pwrctrl framework (Sherry Sun)

- Configure i.MX95 REF_USE_PAD before PHY reset (Richard Zhu)

- Assert i.MX95 ref_clk_en after reference clock stabilizes (Richard Zhu)

- Integrate new pwrctrl API for DTs with Root Port-level power supplies
(Sherry Sun)

Intel Gateway PCIe controller driver:

- Enable clock before PHY init for correct ordering (Florian Eckert)

- Add .start_link() callback so the driver works again (Florian Eckert)

- Stop overwriting the ATU base address discovered by
dw_pcie_get_resources() (Florian Eckert)

- Add DT 'atu' region since this is hardware-specific, and fall back to
driver default if lacking (Florian Eckert)

Loongson PCIe controller driver:

- Ignore downstream devices only on internal bridges to avoid Loongson
hardware issue (Rong Zhang)

- Quirk old Loongson-3C6000 bridges that advertise incorrect supported
link speeds (Ziyao Li)

Marvell MVEBU PCIe controller driver:

- Use fixed-width interrupt masks to avoid truncation in 64-bit builds
(Rosen Penev)

MediaTek PCIe controller driver:

- Use FIELD_PREP() to fix incorrect operator precedence in
PCIE_FTS_NUM_L0 (Li RongQing)

- Fix IRQ domain leak when port fails to enable (Manivannan Sadhasivam)

- Use actual physical address for MSI message address instead of
virt_to_phys() (Manivannan Sadhasivam)

- Add EcoNet EN7528 to DT binding (Caleb James DeLisle)

MediaTek PCIe Gen3 controller driver:

- Deassert PCIE_PHY_RSTB so REFCLK is stable for at least 100ms
(PCIE_T_PVPERL_MS) before deasserting PERST# (Jian Yang)

- Add .shutdown() to assert PERST# before powering down device (Jian
Yang)

- Do full device power down on removal, including asserting PERST#, when
removing driver (Chen-Yu Tsai)

- Fix a 'failed to create pwrctrl devices' error message that was
inadvertently skipped (Chen-Yu Tsai)

NVIDIA Tegra194 PCIe controller driver:

- Program the DesignWare PORT_AFR L1 entrance latency based on the
'aspm-l1-entry-delay-ns' DT property (Manikanta Maddireddy)

Qualcomm PCIe controller driver:

- Add Eliza SoC compatible in DT binding (Krishna Chaitanya Chundru)

- Set max OPP during resume so DBI register accesses don't fail with NoC
errors (Qiang Yu)

- Add pci_host_common_d3cold_possible() to determine whether downstream
devices are already in D3hot and wakeup-enabled devices are capable of
generating PME from D3cold (Krishna Chaitanya Chundru)

- Add .get_ltssm() callback to get the LTSSM status without DBI, since
DBI may be inaccessible after PME_Turn_Off (Krishna Chaitanya Chundru)

- Power down PHY via PARF_PHY_CTRL before disabling rails/clocks to avoid
power leakage (Krishna Chaitanya Chundru)

- Decide whether suspend should put the link in L2 and power down using
pci_host_common_d3cold_possible() instead of checking whether ASPM L1
is enabled (Krishna Chaitanya Chundru)

- Add qcom D3cold support to tear down interconnect bandwidth and OPP
votes (Krishna Chaitanya Chundru)

- Handle unsupported mixed PERST#/PHY DT configurations, e.g., PHY in RP
node while PERST# is in the RC node, but warn about the DT issue (Qiang
Yu)

- Program T_POWER_ON based on DT 't-power-on-us' property in case
hardware advertises incorrect values (Krishna Chaitanya Chundru)

- Disable ASPM L0s for SA8775P (Shawn Guo)

- Initialize DWC MSI lock for firmware-managed ECAM hosts, which don't
use the dw_pcie_host_init() path that initializes the lock (Yadu M G)

Renesas RZ/G3S PCIe controller driver:

- Add RZ/V2N DT support (Lad Prabhakar)

SOPHGO PCIe controller driver:

- Add 'dma-coherent' DT property for sg2042-pcie driver (Han Gao)

Synopsys DesignWare PCIe controller driver:

- Apply ECRC TLP Digest workaround for all DesignWare cores prior to
5.10a, not just 4.90a and 5.00a (Manikanta Maddireddy)

- Use common struct dw_pcie 'mode' rather than duplicating it in artpec6,
dra7xx, dwc-pcie, and keembay driver structs (Hans Zhang)

- Use DEFINE_SHOW_ATTRIBUTE for ltssm_status debugfs to reduce
boilerplate and fix a seq_file memory leak by including a .release()
callback (Hans Zhang)

- Fix a signedness bug in fault injection test code (Dan Carpenter)

- Avoid NULL pointer dereference when tearing down debugfs for controller
that lacks RAS DES capability (Shuvam Pandey)

MicroSemi Switchtec management driver:

- Add Gen6 Device IDs (Ben Reed)

Miscellaneous:

- Remove unused gpio.h include from amd-mdb, designware-plat, fu740,
visconti drivers (Andy Shevchenko)

- Fix typos in documentation (josh ziegler)

- Use FIELD_MODIFY() instead of open-coding it (Hans Zhang)

----------------------------------------------------------------
Andy Shevchenko (4):
PCI: amd-mdb: Use the right GPIO header
PCI: designware-plat: Drop unused include
PCI: fu740: Drop unused include
PCI: visconti: Drop unused include

Bartosz Golaszewski (1):
PCI/pwrctrl: Lock device when calling device_is_bound()

Ben Reed (1):
PCI: switchtec: Add Gen6 Device IDs

Bjorn Helgaas (38):
PCI: Remove MPS/MRRS Kconfig settings (CONFIG_PCIE_BUS_*)
PCI: Log device readiness timeouts as errors
PCI: Wait for device readiness after D3hot -> D0uninitialized transition
Merge branch 'pci/aspm'
Merge branch 'pci/enumeration'
Merge branch 'pci/p2pdma'
Merge branch 'pci/pm'
Merge branch 'pci/procfs'
Merge branch 'pci/pwrctrl'
Merge branch 'pci/reset'
Merge branch 'pci/resource'
Merge branch 'pci/rom'
Merge branch 'pci/sysfs'
Merge branch 'pci/virtualization'
Merge branch 'pci/switchtec'
Merge branch 'pci/dt-binding'
Merge branch 'pci/endpoint'
Merge branch 'pci/controller/host-common'
Merge branch 'pci/controller/altera'
Merge branch 'pci/controller/dwc'
Merge branch 'pci/controller/dwc-amd-mdb'
Merge branch 'pci/controller/dwc-imx6'
Merge branch 'pci/controller/dwc-intel-gw'
Merge branch 'pci/controller/dwc-meson'
Merge branch 'pci/controller/dwc-qcom'
Merge branch 'pci/controller/dwc-tegra194'
Merge branch 'pci/controller/dwc-ultrarisc'
Merge branch 'pci/controller/iproc-bcma'
Merge branch 'pci/controller/loongson'
Merge branch 'pci/controller/mediatek'
Merge branch 'pci/controller/mediatek-gen3'
Merge branch 'pci/controller/mvebu'
Merge branch 'pci/controller/rcar-host'
Merge branch 'pci/controller/link_train_delay'
Merge branch 'pci/controller/rescan_lock'
Merge branch 'pci/controller/tlp_macros'
Merge branch 'pci/controller/misc'
Merge branch 'pci/misc'

Caleb James DeLisle (1):
dt-bindings: PCI: mediatek: Add support for EcoNet EN7528

Carlos Bilbao (3):
PCI/ASPM: Don't reconfigure ASPM entering low-power state
misc: pci_endpoint_test: Validate BAR index in doorbell test
misc: pci_endpoint_test: Remove dead BAR read before doorbell trigger

Chen-Yu Tsai (2):
PCI: mediatek-gen3: Do full device power down on removal
PCI: mediatek-gen3: Fix incorrectly skipped pwrctrl error message

Dan Carpenter (1):
PCI: dwc: Fix signedness bug in fault injection test code

Florian Eckert (6):
PCI: intel-gw: Remove unused PCIE_APP_INTX_OFST definition
PCI: intel-gw: Move interrupt enable to own function
PCI: intel-gw: Enable clock before PHY init
PCI: intel-gw: Add .start_link() callback
PCI: intel-gw: Fix ATU base address setup and add optional DT 'atu' region
dt-bindings: PCI: intel,lgm-pcie: Add 'atu' resource

Guixin Liu (2):
PCI: Introduce named defines for PCI ROM
PCI: Check ROM header and data structure addr before accessing

Han Gao (1):
dt-bindings: PCI: sophgo: Add dma-coherent property for SG2042

Hans Zhang (24):
PCI: Use FIELD_MODIFY() instead of open-coding it
PCI: dra7xx: Use common mode field in struct dw_pcie
PCI: artpec6: Use common mode field in struct dw_pcie
PCI: dwc: Use common mode field in struct dw_pcie
PCI: keembay: Use common mode field in struct dw_pcie
PCI: dwc: Use DEFINE_SHOW_ATTRIBUTE for ltssm_status debugfs
PCI: Add common TLP type macros and convert aspeed/mediatek
PCI: dwc: Replace ATU type macros with common TLP type macros
PCI: cadence: Use common TLP type macros
PCI: Add pci_host_common_link_train_delay() helper
PCI: cadence: Add post-link delay for LGA and j721e glue driver
PCI: altera: Protect root bus removal with rescan lock
PCI: brcmstb: Protect root bus removal with rescan lock
PCI: cadence: Protect root bus removal with rescan lock
PCI: dwc: Protect root bus removal with rescan lock
PCI: iproc: Protect root bus removal with rescan lock
PCI: mediatek: Protect root bus removal with rescan lock
PCI: plda: Protect root bus removal with rescan lock
PCI: rockchip: Protect root bus removal with rescan lock
PCI: cadence-hpa: Add post-link delay
PCI: dwc: Use common pci_host_common_link_train_delay() helper
PCI: aardvark: Add 100 ms delay after link training
PCI: mediatek-gen3: Add 100 ms delay after link up
PCI: rzg3s-host: Use common pci_host_common_link_train_delay() helper

Ilpo Järvinen (9):
PCI: Log all resource claims
PCI: Rename 'added' to 'add_list'
PCI: Consolidate add_list (aka realloc_head) empty sanity checks
PCI: Remove const removal cast
resource: Make resource_alignment() input const resource
powerpc/pseries: Make pseries_get_iov_fw_value() & pnv_iov_get() pci_dev const
PCI: Make pci_sriov_resource_alignment() pci_dev const
PCI: Convert pci_resource_alignment() input parameters to const
PCI: Move pci_resource_alignment() to setup-res.c file

Jia Wang (1):
dt-bindings: PCI: Add UltraRISC DP1000 PCIe controller

Jian Yang (2):
PCI: mediatek-gen3: Fix PERST# control timing during system startup
PCI: mediatek-gen3: Add a .shutdown() callback to control PERST# signal

Jose Ignacio Tornos Martinez (2):
PCI: Avoid FLR for MediaTek MT7925 WiFi
PCI: Avoid SBR for Qualcomm WCN6855/WCN7850 WiFi, SDX62/SDX65 modems

Koichiro Den (21):
PCI: endpoint: Add auxiliary resource query API
PCI: dwc: Record integrated eDMA register window
PCI: dwc: ep: Expose integrated eDMA resources via EPC aux-resource API
PCI: endpoint: pci-ep-msi: Refactor doorbell allocation for new backends
PCI: endpoint: pci-epf-vntb: Reuse pre-exposed doorbells and IRQ flags
PCI: endpoint: pci-epf-test: Reuse pre-exposed doorbell targets
PCI: endpoint: pci-ep-msi: Add embedded doorbell fallback
NTB: epf: Fix request_irq() unwind in ntb_epf_init_isr()
NTB: epf: Avoid calling pci_irq_vector() from hardirq context
PCI: endpoint: pci-epf-vntb: Document legacy MSI doorbell offset
PCI: endpoint: pci-epf-vntb: Defer pci_epc_raise_irq() out of atomic context
PCI: endpoint: pci-epf-vntb: Report 0-based doorbell vector via ntb_db_event()
PCI: endpoint: pci-epf-vntb: Reject unusable doorbell counts
PCI: endpoint: pci-epf-vntb: Guard configfs writes after EPC attach
PCI: endpoint: pci-epf-vntb: Exclude reserved slots from db_valid_mask
PCI: endpoint: pci-epf-vntb: Implement .db_vector_count()/mask() for doorbells
NTB: epf: Document legacy doorbell slot offset in ntb_epf_peer_db_set()
NTB: epf: Make db_valid_mask cover only real doorbell bits
NTB: epf: Report 0-based doorbell vector via ntb_db_event()
NTB: epf: Fix doorbell bitmask and IRQ vector handling
NTB: epf: Implement .db_vector_count()/mask() for doorbells

Krishna Chaitanya Chundru (9):
PCI: host-common: Add pci_host_common_d3cold_possible() helper
PCI: qcom: Add .get_ltssm() callback to query LTSSM status
PCI: qcom: Power down PHY via PARF_PHY_CTRL before disabling rails/clocks
PCI: dwc: Use common D3cold eligibility helper in suspend path
PCI: qcom: Add D3cold support
PCI/ASPM: Add pcie_encode_t_power_on() helper to encode L1SS T_POWER_ON fields
PCI: dwc: Add dw_pcie_program_t_power_on() to program T_POWER_ON
PCI: qcom: Program T_POWER_ON
dt-bindings: PCI: qcom,pcie-sm8550: Add Eliza compatible

Krzysztof Wilczyński (26):
PCI/sysfs: Use PCI resource accessor macros
PCI: Add pci_resource_is_io() and pci_resource_is_mem() helpers
PCI/sysfs: Only allow supported resource types in I/O and MMIO helpers
PCI/sysfs: Split pci_llseek_resource() for device and legacy attributes
PCI/sysfs: Add CAP_SYS_ADMIN check to __resource_resize_store()
PCI/sysfs: Add static PCI resource attribute macros
PCI/proc: Fix race between pci_proc_init() and pci_bus_add_device()
PCI/sysfs: Convert PCI resource files to static attributes
PCI/sysfs: Warn about BAR resize failure in __resource_resize_store()
PCI/sysfs: Add stubs for pci_{create,remove}_sysfs_dev_files()
PCI/sysfs: Limit pci_sysfs_init() late_initcall compile scope
alpha/PCI: Add security_locked_down() check to pci_mmap_resource()
alpha/PCI: Use BAR index in sysfs attr->private instead of resource pointer
alpha/PCI: Use PCI resource accessor macros
alpha/PCI: Fix __pci_mmap_fits() overflow for zero-length BARs
alpha/PCI: Remove WARN from __pci_mmap_fits() and __legacy_mmap_fits()
alpha/PCI: Add static PCI resource attribute macros
alpha/PCI: Convert resource files to static attributes
PCI/sysfs: Remove pci_{create,remove}_sysfs_dev_files()
PCI: Add macros for legacy I/O and memory address space sizes
alpha/PCI: Compute legacy size in pci_mmap_legacy_page_range()
PCI/sysfs: Add __weak pci_legacy_has_sparse() helper
PCI/sysfs: Convert legacy I/O and memory attributes to static definitions
PCI/sysfs: Remove pci_create_legacy_files() and pci_sysfs_init()
PCI/sysfs: Limit BAR resize attribute scope to platforms with PCI mmap
PCI/sysfs: Use kstrtobool() to parse the ROM attribute input

Lad Prabhakar (2):
PCI: rcar-host: Remove unused LIST_HEAD(res)
dt-bindings: PCI: renesas,r9a08g045-pcie: Add RZ/V2N support

Li RongQing (1):
PCI: mediatek: Fix operator precedence in PCIE_FTS_NUM_L0 macro

Lukas Wunner (3):
PCI: Stop setting cached power state to 'unknown' on unbind
PCI: Drop unnecessary retries when restoring BARs
PCI/P2PDMA: Add Intel QAT, DSA, IAA devices to whitelist

Maciej W. Rozycki (3):
PCI: Always lift 2.5GT/s restriction in PCIe failed link retraining
PCI: Use pcie_get_speed_cap() in PCIe failed link retraining
PCI: Bail out early for 2.5GT/s devices in PCIe failed link retraining

Mahesh Vaidya (2):
PCI: altera: Do not dispose parent IRQ mapping
PCI: altera: Fix resource leaks on probe failure

Manikanta Maddireddy (2):
PCI: dwc: Apply ECRC workaround for DesignWare cores prior to 5.10a
PCI: tegra194: Use aspm-l1-entry-delay-ns DT property for L1 entrance latency

Manivannan Sadhasivam (10):
PCI/pwrctrl: Move pci_pwrctrl_is_required() earlier in file
PCI/pwrctrl: Do not try to power on/off devices that don't need pwrctrl
PCI: Add pci_suspend_retains_context() to check if device state is preserved during suspend
PCI: Indicate context lost if L1SS exit is broken during resume from system suspend
PCI: qcom: Indicate broken L1SS exit during resume from system suspend
nvme-pci: Use pci_suspend_retains_context() during suspend
PCI: mediatek: Fix IRQ domain leak when port fails to enable
PCI: mediatek: Use actual physical address instead of virt_to_phys()
PCI: endpoint: pci-epf-vntb: Add check to detect 'db_count' value of 0
PCI: endpoint: pci-epf-ntb: Add check to detect 'db_count' value of 0

Marco Nenciarini (2):
PCI: Skip Resizable BAR restore on read error
PCI/IOV: Skip VF Resizable BAR restore on read error

Mark Tomlinson (1):
PCI: iproc: Restore .map_irq() for the platform bus driver

Matt Evans (1):
PCI/P2PDMA: Avoid returning a provider for non_mappable_bars

Qiang Yu (2):
PCI: qcom: Set max OPP before DBI access during resume
PCI: qcom: Handle mixed PERST#/PHY DT configuration

Ratheesh Kannoth (1):
PCI: host-common: Request bus reassignment when not probe-only

Richard Zhu (3):
PCI: imx6: Fix IMX6SX_GPR12_PCIE_TEST_POWERDOWN handling
PCI: imx6: Configure REF_USE_PAD before PHY reset for i.MX95
PCI: imx6: Assert ref_clk_en after reference clock stabilizes on i.MX95

Rong Zhang (1):
PCI: loongson: Do not ignore downstream devices on external bridges

Rosen Penev (1):
PCI: mvebu: Use fixed-width interrupt masks to avoid truncation in 64-bit builds

Sai Krishna Musham (1):
PCI: amd-mdb: Assert PERST# on shutdown

Shawn Guo (1):
PCI: qcom: Disable ASPM L0s for SA8775P

Sherry Sun (5):
dt-bindings: PCI: fsl,imx6q-pcie: Add reset GPIO in Root Port node
PCI: host-generic: Add common helpers for parsing Root Port properties
PCI: imx6: Assert PERST# before enabling regulators
PCI: imx6: Parse 'reset-gpios' in Root Port nodes
PCI: imx6: Integrate new pwrctrl API

Shuvam Pandey (3):
PCI: meson: Propagate devm_add_action_or_reset() failure
PCI: meson: Add missing remove callback
PCI: dwc: Avoid dwc_pcie_rasdes_debugfs_deinit() NULL dereference when no RAS DES capability

Xincheng Zhang (1):
PCI: ultrarisc: Add UltraRISC DP1000 PCIe Root Complex driver

Yadu M G (1):
PCI: qcom: Initialize DWC MSI lock for firmware-managed ECAM hosts

Ziyao Li (1):
PCI: loongson: Override PCIe bridge supported speeds for Loongson-3C6000 series

josh ziegler (1):
Documentation: PCI: Fix typos

Documentation/PCI/pci.rst | 2 +-
Documentation/PCI/pciebus-howto.rst | 2 +-
.../devicetree/bindings/pci/fsl,imx6q-pcie.yaml | 32 ++
.../devicetree/bindings/pci/intel-gw-pcie.yaml | 9 +-
.../devicetree/bindings/pci/mediatek-pcie.yaml | 26 +
.../devicetree/bindings/pci/qcom,pcie-sm8550.yaml | 50 ++
.../bindings/pci/renesas,r9a08g045-pcie.yaml | 23 +-
.../bindings/pci/sophgo,sg2042-pcie-host.yaml | 3 +
.../bindings/pci/ultrarisc,dp1000-pcie.yaml | 93 ++++
MAINTAINERS | 8 +
arch/alpha/include/asm/pci.h | 13 +-
arch/alpha/kernel/pci-sysfs.c | 388 +++++++------
arch/powerpc/include/asm/machdep.h | 2 +-
arch/powerpc/include/asm/pci.h | 2 -
arch/powerpc/kernel/pci-common.c | 2 +-
arch/powerpc/platforms/powernv/pci-sriov.c | 4 +-
arch/powerpc/platforms/powernv/pci.h | 5 +-
arch/powerpc/platforms/pseries/setup.c | 5 +-
.../intel/qat/qat_common/adf_accel_devices.h | 5 -
drivers/dma/idxd/registers.h | 3 -
drivers/misc/pci_endpoint_test.c | 6 +-
drivers/ntb/hw/epf/ntb_hw_epf.c | 141 ++++-
drivers/nvme/host/pci.c | 3 +-
drivers/pci/Kconfig | 57 --
drivers/pci/bus.c | 1 -
drivers/pci/controller/cadence/pci-j721e.c | 1 +
.../controller/cadence/pcie-cadence-host-common.c | 4 +
.../pci/controller/cadence/pcie-cadence-host-hpa.c | 8 +
drivers/pci/controller/cadence/pcie-cadence-host.c | 6 +
.../pci/controller/cadence/pcie-cadence-hpa-regs.h | 12 +-
drivers/pci/controller/cadence/pcie-cadence.h | 2 +
drivers/pci/controller/dwc/Kconfig | 14 +
drivers/pci/controller/dwc/Makefile | 1 +
drivers/pci/controller/dwc/pci-dra7xx.c | 11 +-
drivers/pci/controller/dwc/pci-imx6.c | 223 ++++++--
drivers/pci/controller/dwc/pci-meson.c | 13 +-
drivers/pci/controller/dwc/pcie-al.c | 12 +-
drivers/pci/controller/dwc/pcie-amd-mdb.c | 10 +-
drivers/pci/controller/dwc/pcie-artpec6.c | 9 +-
.../pci/controller/dwc/pcie-designware-debugfs.c | 45 +-
drivers/pci/controller/dwc/pcie-designware-ep.c | 128 ++++-
drivers/pci/controller/dwc/pcie-designware-host.c | 45 +-
drivers/pci/controller/dwc/pcie-designware-plat.c | 8 +-
drivers/pci/controller/dwc/pcie-designware.c | 62 ++-
drivers/pci/controller/dwc/pcie-designware.h | 34 +-
drivers/pci/controller/dwc/pcie-eswin.c | 3 +-
drivers/pci/controller/dwc/pcie-fu740.c | 1 -
drivers/pci/controller/dwc/pcie-intel-gw.c | 74 ++-
drivers/pci/controller/dwc/pcie-keembay.c | 9 +-
drivers/pci/controller/dwc/pcie-nxp-s32g.c | 3 +-
drivers/pci/controller/dwc/pcie-qcom-common.c | 40 +-
drivers/pci/controller/dwc/pcie-qcom-ep.c | 6 +-
drivers/pci/controller/dwc/pcie-qcom.c | 331 ++++++++---
drivers/pci/controller/dwc/pcie-tegra194-acpi.c | 4 +-
drivers/pci/controller/dwc/pcie-tegra194.c | 21 +-
drivers/pci/controller/dwc/pcie-ultrarisc.c | 175 ++++++
drivers/pci/controller/dwc/pcie-visconti.c | 1 -
drivers/pci/controller/pci-aardvark.c | 5 +-
drivers/pci/controller/pci-host-common.c | 236 ++++++++
drivers/pci/controller/pci-host-common.h | 48 ++
drivers/pci/controller/pci-loongson.c | 67 ++-
drivers/pci/controller/pci-mvebu.c | 9 +-
drivers/pci/controller/pcie-altera.c | 38 +-
drivers/pci/controller/pcie-aspeed.c | 8 +-
drivers/pci/controller/pcie-brcmstb.c | 2 +
drivers/pci/controller/pcie-iproc-bcma.c | 2 +-
drivers/pci/controller/pcie-iproc-platform.c | 2 +-
drivers/pci/controller/pcie-iproc.c | 3 +-
drivers/pci/controller/pcie-iproc.h | 2 -
drivers/pci/controller/pcie-mediatek-gen3.c | 45 +-
drivers/pci/controller/pcie-mediatek.c | 92 ++--
drivers/pci/controller/pcie-rcar-host.c | 1 -
drivers/pci/controller/pcie-rockchip-host.c | 2 +
drivers/pci/controller/pcie-rzg3s-host.c | 3 +-
drivers/pci/controller/plda/pcie-plda-host.c | 2 +
drivers/pci/endpoint/functions/pci-epf-ntb.c | 21 +-
drivers/pci/endpoint/functions/pci-epf-test.c | 86 ++-
drivers/pci/endpoint/functions/pci-epf-vntb.c | 274 +++++++++-
drivers/pci/endpoint/pci-ep-msi.c | 175 +++++-
drivers/pci/endpoint/pci-epc-core.c | 80 +++
drivers/pci/ide.c | 6 +-
drivers/pci/iov.c | 16 +-
drivers/pci/msi/msi.c | 11 +-
drivers/pci/p2pdma.c | 16 +-
drivers/pci/pci-driver.c | 10 +-
drivers/pci/pci-sysfs.c | 607 ++++++++++++---------
drivers/pci/pci.c | 115 ++--
drivers/pci/pci.h | 55 +-
drivers/pci/pcie/aspm.c | 40 ++
drivers/pci/pcie/ptm.c | 3 +-
drivers/pci/probe.c | 7 +-
drivers/pci/proc.c | 79 ++-
drivers/pci/pwrctrl/core.c | 116 ++--
drivers/pci/quirks.c | 60 +-
drivers/pci/rebar.c | 12 +-
drivers/pci/remove.c | 3 -
drivers/pci/rom.c | 149 ++++-
drivers/pci/setup-bus.c | 50 +-
drivers/pci/setup-cardbus.c | 5 +-
drivers/pci/setup-res.c | 14 +
drivers/pci/switch/switchtec.c | 16 +
drivers/pci/tph.c | 10 +-
include/linux/ioport.h | 2 +-
include/linux/pci-epc.h | 54 ++
include/linux/pci-epf.h | 31 +-
include/linux/pci.h | 59 +-
include/linux/pci_ids.h | 8 +
include/linux/switchtec.h | 1 +
kernel/resource.c | 2 +-
109 files changed, 3646 insertions(+), 1315 deletions(-)
create mode 100644 Documentation/devicetree/bindings/pci/ultrarisc,dp1000-pcie.yaml
create mode 100644 drivers/pci/controller/dwc/pcie-ultrarisc.c